Struts分页问题之简单解决

来源:互联网 发布:ipad淘宝软件历史版本 编辑:程序博客网 时间:2024/06/06 02:46

在相应的ActionForm中取得数据的ArrayList list;

request.setAttribute("data_length",new Integer(list.size()));

设置这个数据长度是为了知道能分几页显示


然后在负责显示的jsp页面添加如下代码:

<%
 String url="employeeList.do?pageNumber=";
 
 int length = ((Integer)request.getAttribute("data_length")).intValue();//取得总共数据条数
 int pageSize = 10;//每页显示10条数据
 int pages = (length - 1) / pageSize + 1;//计算需要页数
 int offset=0;//数据起始索引
 int pageNumber=1;//当前页数
 if(request.getParameter("pageNumber") != null)
      pageNumber = (new Integer((String)request.getParameter("pageNumber"))).intValue();
 offset = (pageNumber - 1)*pageSize;
%>

然后再添加分页代码:

<logic:iterate id="..." name="..." offset="<%=(new Integer(offset)).toString()%>" length="<%=(new Integer(pageSize)).toString()%>">

.....

</logic:iterate>

<tr>
    <a href="<%=url+1%>">第1页</a>
    <%
     for(int i=2; i<pages; i++) {
    %>
    <a href="<%=url+i%>">第<%=i%>页</a>
    <%
     }
    %>
    <a href="<%=url+pages%>">末页</a>
    
</tr>

上面的这个循环我想可以用struts的标志库函数取代,由于刚接触struts不久,不熟悉,所以只能暂时这样了,这也能很好的解决我的问题,以后再想办法优化吧,各位有什么意见也可一写出来

原创粉丝点击