一个JSP分页组件
来源:互联网 发布:sql代理服务无法启动 编辑:程序博客网 时间:2024/05/20 18:20
<%@ page language="java" import="java.util.*" pageEncoding="GBK"%><%-- /* 所有要接收的值为 currentPage,pageSize,allCount,URL */ 每次使用该组件时,修改page属性的值即可使用 <jsp:include flush="true" page="/emp/split_page.jsp"> <jsp:param name="currentPage" value="<%=currentPage %>"/> <jsp:param name="pageSize" value="<%=pageSize %>"/> <jsp:param name="allCount" value="<%=allCount %>"/> <jsp:param name="url" value="list.jsp"/> <jsp:param name="keyword" value="<%=keyword %>"/> <jsp:param name="searchFlag" value="FALSE"/> </jsp:include> <jsp:include flush="true" page="/split_page.jsp"> <jsp:param name="currentPage" value="${empForm.cp}" /> <jsp:param name="pageSize" value="${empForm.ps}" /> <jsp:param name="allCount" value="${allCount}" /> <jsp:param name="url" value="${pageContext.request.contextPath}/emp.do?status=list" /> <jsp:param name="keyword" value="${empForm.kw}" /> <jsp:param name="searchFlag" value="TRUE" /> </jsp:include> <input type="button" value="返回" onclick="history.back();"> --%><%int currentPage = 1;int pageSize = 5 ;int allCount = 0 ;String url = request.getParameter("url");String keyword = request.getParameter("keyword");String searchFlag = request.getParameter("searchFlag");try { currentPage = Integer.parseInt(request.getParameter("currentPage")); pageSize = Integer.parseInt(request.getParameter("pageSize")); allCount = Integer.parseInt(request.getParameter("allCount"));} catch (Exception e) {}int allPage = (allCount - 1) / pageSize + 1 ; %> <input type="button" value="首页" <%=currentPage==1?"disabled":"" %> onclick="changePage(1);"> <input type="button" value="上一页" <%=currentPage==1?"disabled":"" %> onclick="changePage(<%=currentPage-1 %>);"> <input type="button" value="下一页" <%=currentPage==allPage?"disabled":"" %> onclick="changePage(<%=currentPage+1 %>);"> <input type="button" value="尾页" <%=currentPage==allPage?"disabled":"" %> onclick="changePage(<%=allPage %>);"> <form name="splitform" action="<%=url %>" method="post" onsubmit="return check(this);"> <input type="submit" value="跳转到:"><input type="text" name="cp" value="<%=currentPage %>" size="4"> / <%=allPage %> 页 <% // 最好定义一个数组,保存所有的选项 int[] allSelect = {2,5,10,20}; %> 每页显示 <select name="ps" onchange="changePage(1);"> <% for (int i = 0; i < allSelect.length;i++) { %> <option value="<%=allSelect[i] %>" <%=pageSize == allSelect[i]?"selected":"" %>><%=allSelect[i] %></option> <% } %> </select> 条数据 <br> <% if ("TRUE".equals(searchFlag)) { %> 请输入查询关键字:<input type="text" name="keyword" value="<%=keyword %>"> <input type="submit" value="查询"> <% } %> </form> <script type="text/javascript"> function check(myform) { var cp = myform.cp.value ; // 转换为数字类型 cp = parseInt(cp); if (isNaN(cp)) { return false ; } else { if (cp < 1 || cp > "<%=allPage%>") { return false ; } } return true ; } function changePage(cp) { // 接收传入的cp,并设置到隐藏的表单中。 document.splitform.cp.value = cp ; // 提交表单 document.splitform.submit(); } </script>