ベロシティ 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
私は答えを探しましたが、まだうまくいくものは見つかりませんでした。助けてください!