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

看起来您是在手动配置工具,而不是让 VelocityTools 来做。这很好,但是你必须调用(在java中)pager.setup(request); 在每个请求上,以便它知道您在哪个页面上以及所有这些。

于 2012-07-20T14:47:00.327 回答
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 回答