0

ベロシティ PagerTool を使用して、ベロシティ テンプレートにページネーションを追加しようとしています。私は彼らのウェブサイトの指示に従い、サンプルコードも使用しました。テンプレートに転送する前に、ページャー アイテムにデータを入力し、コントローラーでページあたりのアイテム数を設定します。

そのページに移動すると、すべてが機能しているように見えますが、ページ番号をクリックすると機能しません。アイテムがページャーに正しく表示されるため、アイテムがポケットベルに到達したことはわかっています。

ページネーションは次のようになります: < 1 2 3 4 5 6 >

1 をクリックすると、ページが更新され、ページの別の値のセットが表示されます。1より大きいものをクリックすると壊れます。何か案は?

リンクを正しく使用していないか (彼らが言ったとおりに使用したにもかかわらず)、コントローラーに正しく入力されていないものがあると思います。

コントローラーにあるものは次のとおりです。

PagerTool pager = new PagerTool();
pager.setItemsPerPage(10);
pager.setItems(myListOfItems);
request.setAttribute("pager", pager);           
request.setAttribute("new.items", myListOfItems);

ドキュメントで提供されたサンプルのコードを使用しました:[PagerTool] [1]

VMテンプレートで使用しているコードは次のとおりです。

   #if( $pager.hasItems() )
   Showing $!pager.pageDescription<br>
     #set( $i = $pager.index )
     #foreach( $item in $pager.page )
       ${i}. $!item <br>
       #set( $i = $i + 1 )
     #end
     <br>
     #if ( $pager.pagesAvailable > 1 )
       #set( $pagelink = $link.self.param("show",$!pager.itemsPerPage) )
       #if( $pager.prevIndex )
           <a href="$pagelink.param('index',$!pager.prevIndex)">Prev</a>
       #end
       #foreach( $index in $pager.slip )
         #if( $index == $pager.index )
           <b>$pager.pageNumber</b>
         #else
           <a href="$pagelink.param('index',$!index)">$!pager.getPageNumber($index)</a>
         #end
       #end
       #if( $pager.nextIndex )
           <a href="$pagelink.param('index',$!pager.nextIndex)">Next</a>
       #end
     #end
   #else
   No items in list.
   #end

私は答えを探しましたが、まだうまくいくものは見つかりませんでした。助けてください!

4

2 に答える 2

0

SSH で速度と速度ツール 2.0 を使用しています。PagerTool と LinkTool を使用したときに問題が発生しました。正しいページネーション リンクを生成できませんでした。これが私のコードです:

  Page<User> userList = (Page<User>) userService.getUserList(user, pageInfo);
    PagerTool pager = new PagerTool();
    pager.setItemsPerPage(1);
    ArrayList list = new ArrayList();
    list.addAll(userList.getPageElements());
    pager.setItems(list);
    ServletActionContext.getRequest().setAttribute("new.items", list);
    ActionContext.getContext().put("pager", pager);

LinkTool の使い方がわかりませんでした。

于 2013-05-17T06:05:23.487 に答える