简单分页的实现

来源:互联网 发布:焊接机器人编程及应用 编辑:程序博客网 时间:2024/05/22 14:02

注:

以下介绍的分页为简单的分页,适合数据量小的模块。如果查询展现的数据量非常大,此分页实现不适合。

 

1:参照jsp页面

 

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%@ taglib prefix="s" uri="/struts-tags"%><%@ page isELIgnored="false" %><%String path = request.getContextPath();String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/";%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><base href="<%=basePath%>"><title>所有用户列表</title>    <script type="text/javascript">function onlyNum(){ if(!(event.keyCode==46)&&!(event.keyCode==8)&&!(event.keyCode==37)&&!(event.keyCode==39)) if(!((event.keyCode>=48&&event.keyCode<=57)||(event.keyCode>=96&&event.keyCode<=105))) event.returnValue=false; } function selectPage(page,pageCount){var page = page;var pageCount = pageCount;var pageCode = document.getElementById("pageCode").value;if(pageCount==0){alert("当前无数据");}else if(pageCode==""){alert("请输入页数");}else if(pageCode > pageCount || pageCode < 1){alert("超出页数范围");}else if(page==1 && page==pageCode){            alert("当前已是第一页");     }else if(page==pageCount && page==pageCode){     alert("当前已是最后一页");     }else if(page==pageCode){     alert("已是当前页");     }else {     form1.action = "<%=request.getContextPath()%>/pageTPwUserList.action?page="+pageCode;form1.submit();     }}function selectSy(page,pageCount){var page = page;var pageCount = pageCount;if(pageCount==0){alert("当前无数据");}else if(page==1){            alert("当前已是第一页");     } else {     form1.action = "<%=request.getContextPath()%>/pageTPwUserList.action?page=1";form1.submit();     }}function selectSyy(page,pageCount){var page = page;var pageCount = pageCount;if(pageCount==0){alert("当前无数据");}else if(page==1){            alert("当前已是第一页");     } else{     var pageS = page-1;form1.action = "<%=request.getContextPath()%>/pageTPwUserList.action?page="+pageS;form1.submit();     }}function selectXyy(page,pageCount){var page = page;var pageCount = pageCount;if(pageCount==0){alert("当前无数据");}else if(page==pageCount){alert("当前已是最后一页");}else{var pageX = page+1;form1.action = "<%=request.getContextPath()%>/pageTPwUserList.action?page="+pageX;form1.submit();}}function selectWy(page,pageCount){var page = page;var pageCount = pageCount;if(pageCount==0){alert("当前无数据");}else if(page==pageCount){alert("当前已是最后一页");}else{form1.action = "<%=request.getContextPath()%>/pageTPwUserList.action?page="+pageCount;form1.submit();}}</script>    </head>    <body>    <form action="" id="form1" onsubmit="return true;" method="post">   <table>   <tr><td>序号</td><td>ID号</td><td>登入名</td></tr><s:iterator value="list"  id="sa" status="stat" ><tr> <td><input type="checkbox"/><s:property value="#stat.index+1"/> </td> <td align = "center"><s:property value="#sa.PId"/></td> <td align = "center"><s:property value="#sa.PLoginname"/></td></tr>  </s:iterator>   </table>  记录总数  <s:property value="count"/>  <input type="hidden" />条    共  <s:property value="pageCount"/>页 当前是第  <s:property value="page"/>页 每页15条   <input type="button" id="tz"  onclick="selectPage(<s:property value="page"/>,<s:property value="pageCount"/>)" value="跳转到 ">第  <input type = "text"  id="pageCode" onkeydown="onlyNum();" style="ime-mode:Disabled;height:19px;width:25px" > 页   <input type="button" id="sy"  onclick="selectSy(<s:property value="page"/>,<s:property value="pageCount"/>)" value="首页">  <input type="button" id="syy" onclick="selectSyy(<s:property value="page"/>,<s:property value="pageCount"/>)" value="上一页 ">  <input type="button" id="xyy" onclick="selectXyy(<s:property value="page"/>,<s:property value="pageCount"/>)" value="下一页">  <input type="button" id="wy"  onclick="selectWy(<s:property value="page"/>,<s:property value="pageCount"/>)" value="尾页 ">   </form>  </body></html>


 

 

2:参照action类 片段

 

private int count = 0;private int pageCount = 0;private int page = 1;private List<TPwUser> list;//此list类型为对应数据的bean类型//实现四个全局变量的get set 方法//此方法点击翻页的时候执行public String pageSelect() throws Exception {this.list = tPwUserService.getAllTPwUser(); //把servcie层获得的数据赋给list。count = list.size();pageCount = count / 15;if (count % 15 != 0) {pageCount = pageCount + 1;}if (page * 15 > count) {this.list = list.subList((page - 1) * 15, count);} else {this.list = list.subList((page - 1) * 15, page * 15);}return SUCCESS;}/** * 第一次请求展现列表时调用Service层查找所有TPwUser用户列表 */public String getAllTPwUserList() {this.list = tPwUserService.getAllTPwUser();count = list.size();pageCount = count / 15;if (count == 0) {return SUCCESS;} else if (count < 15) {pageCount = 1;this.list = list.subList((page - 1) * 15, count - 1);return SUCCESS;} else {if (count % 15 != 0) {pageCount = pageCount + 1;}this.list = list.subList((page - 1) * 15, page * 15);return SUCCESS;}}


 

3:参照Struts.xml 片段

 

<!-- 第一次请求获得数据列表Action --><action name="TPwUserList"class="TPwUserAction" method="getAllTPwUserList"><result name="success">/jsp/TPwUser/TPwUserList.jsp</result><result name="error">/regist.jsp</result></action><!-- 翻页时请求Action --><action name="pageTPwUserList"class="TPwUserAction" method="pageSelect"><result name="success">/jsp/TPwUser/TPwUserList.jsp</result><result name="error">/regist.jsp</result></action>


 

注释:

Struts.xml中配置的第二个action,method属性对应的是jsp页面中js中请求的地址中的方法。

 

 

原创粉丝点击