我正在嘗試使用速度PagerTool將分頁添加到我的速度模板中。我遵循他們網站上的指示,甚至使用他們的示例代碼。我填充尋呼機項目,並在轉發到我的模板之前,在我的控制器中設置每個頁面的項目數量。Velocity 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]
下面是我使用的代碼我的虛擬模板:
#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
我已經遍尋全球的答案,但還沒有找到任何工程呢。請幫忙!
我寧願讓VelocityTools自動爲我配置它,但這是我能找到的唯一方法。你能告訴我如何讓Velocity爲我處理它。 所以,我現在的方式,我需要調用pager.setup並每次單擊鏈接時傳遞請求對象? – ddogg 2012-07-20 15:19:06
VelocityTools有一個展示應用程序,演示如何自動管理它。是的,它需要知道每個請求,因爲它是一個請求範圍工具。 – 2012-07-24 16:52:27