3.jsp页面分页功能(首页、下一页、上一页、末页)

news/2025/2/26 7:06:12

思路:前端负责收集分页信息与筛选条件,后端可以通过分页信息的页码+每页多少条+筛选条件查到具体的51-100条数据。
每次的查询,下一页,末页等操作其实是更新分页信息与筛选条件罢了

①定义每页条数10条,有一个固定的查询方法,参数为分页信息或是筛选条件,如果都没有默认从第一页查询。

int pageNo = 1;  //页码
int pageNum = 10;  //条数
if(request.getParameter("pageNo") != null && !"".equals(request.getParameter("pageNo"))){
		pageNo = Integer.parseInt(request.getParameter("pageNo"));
	}

②不管是条件查询,还是点击下一页,重新调用本页面,重新获取分页信息或是筛选条件,再进行数据填充

archiveInfo.setTitle(request.getParameter("title")!=null?request.getParameter("title"):"");
archiveInfo.setClientCode(request.getParameter("clientCode")!=null?request.getParameter("clientCode"):"");
archiveInfo.setArchiveNo(request.getParameter("archiveNo")!=null?request.getParameter("archiveNo"):"");
archiveInfo.setCharger(request.getParameter("charger")!=null?request.getParameter("charger"):"");
archiveInfo.setFileNo(request.getParameter("fileNo")!=null?request.getParameter("fileNo"):"");
submitArchiveList = dao.getSubmitArchiveList2(【当前页码,每页条数】, 筛选条件archiveInfo);

③点击下一页,上一页,末页,首页时触发一个传递当前页码的函数,函数再submt本页面,每次提交到本页面,就会触发固定的查询方法,计算分页信息或是筛选条件,实现传递了页码的查询展示

<script>
//普通固定的提交本页面,重新调查询方法,筛选条件随着table表格已经提交了,在本页面也通过request获取了条件参数
function query(){  
	document.submitPigeonholeFrm.action="submitArchiveList.jsp";
    document.submitPigeonholeFrm.submit();
}

//下一页按钮,url也是提交给本页面,但还包含了一个页码pageNo
function go_page(url){
	submitPigeonholeFrm.action=url;
	submitPigeonholeFrm.submit();
}
</script>
<
!-- 提交归档列表 第 1 页  共 63 页       记录共 3136 条       首页 上页 下页 末页   -->
<form id="submitPigeonholeFrm" name="submitPigeonholeFrm" action="" method="post">
<table border="0" width="100%" style="margin-top: 10px;">
	<tr>
		<td width="200" style="border: 0px;padding-left: 15px;">提交归档列表</td>
		<td align="right" style="border: 0;padding-right: 15px;">
			<span class="text"><%=pageNo %>&nbsp;&nbsp;<%=pageInfo.iTotalPage%>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;记录共 <%=pageInfo.iTotalRow%>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
			<%
			if(pageNo>1){
			%>	
			<a href="javascript:void(0)" onclick="go_page('submitArchiveList.jsp?pageNo=1')">首页</a>
			<%}else{
			%>
			<span class="text">首页</span>
			<%}
			%>
			<%
 		if (pageNo > 1) {
 		nextPage = pageNo;
		 %> <a href="javascript:void(0)"
					onclick="go_page('submitArchiveList.jsp?pageNo=<%=String.valueOf(--nextPage) %>')">
				上页 </a> <%
		 } else {
		 %> <span class="text">上页</span> <%
		 }
		 %> <%
		 		if (pageNo < pageInfo.iTotalPage) {
		 		nextPage = pageNo;
		 %> <a href="javascript:void(0)"
					onclick="go_page('submitArchiveList.jsp?pageNo=<%=String.valueOf(++nextPage) %>')">
				下页</a> <%
		 } else {
		 %> <span class="text">下页</span> <%
		 }
		 %> <%
		 if (pageNo != pageInfo.iTotalPage && pageInfo.iTotalPage != 0) {
		 %> <a href="javascript:void(0)"
					onclick="go_page('submitArchiveList.jsp?pageNo=<%=String.valueOf(pageInfo.iTotalPage) %>')">
				末页</a> <%
		 } else {
		 %> <span class="text"> 末页</span> <%
		 }
		 %>
		</td>
	</tr>
</table>

展示数据的序号时,根据页码可以计算当前页是第多少条数据,每展示一条数据,num++

int num = (pageNo-1)*p.iPageCountUse+1;  //当前页的第num条数据,通过页码和每页条数就可算出来
<td align="center"><%=num++ %></td>  //在循环遍历时,展示一条数据,num++


http://www.niftyadmin.cn/n/4557446.html

相关文章

谁有好点JAVA和C#入门教学视频

c#不知道 ||| http://www.enet.com.cn孙鑫的视频.... 讲得很好而且重点很突出 java 的推荐尚学堂的马士兵老师

润乾报表 表达式为图片的设置

转载于:https://www.cnblogs.com/xiaobaidejiucuoben/p/9443611.html

4.制作xls表格响应给页面 和 xls表格打包为ZIP响应给页面

就是把response.getOutputStream()的流来装载数据&#xff0c;再write写出就行了 大概流程&#xff1a; 设置页面为附件下载&#xff0c;设置这个响应文件的名字.xsl OutputStream os response.getOutputStream(); WritableWorkbook wwb Workbook.createWorkbook(os); wwb.c…

[POI2015]WIL-Wilcze doły(单调队列)

题意 给定一个长度为n的序列&#xff0c;你有一次机会选中一段连续的长度不超过d的区间&#xff0c;将里面所有数字全部修改为0。请找到最长的一段连续区间&#xff0c;使得该区间内所有数字之和不超过p。 (1<d<n<2000000&#xff0c;0<p<10^16) 题解 一看以为是…

网上有C++语言的教程吗

searchVC%206.0&restype-1&id10000001&ty0&pattern0 脱兔下载 最有名的是孙鑫的VC视频教程 searchC%2B%2B%20%E6%95%99%E7%A8%8B&id1工具:http://www.gougou.com/search ||| 有很多 用百度搜索 都在这 答案补充 http://www.jtr.cn/不好你杀了我 ||| 有呀 现…

为什么显示错误呢

要么是那个程序不是应用程序 或者其他可以在CMD下运行的 要么是文件有问题 ||| 晕倒 在DOS下面带有空格的文件夹得加引号如你的打开c:/program files/java/jdk1.6.0_07/bin/java.exe就得这样输入"c:/program files/java/jdk1.6.0_07/bin/java.exe"注意引号是半角英文…

TP5使用pgsql报错“没有匹配指定名称和参数类型的函数. 您也许需要增加明确的类型转换”的解决办法...

错误信息如下 [ info ] [ DB ] INIT pgsql [ error ] [10501]SQLSTATE[42883]: Undefined function: 7 错误: 函数 table_msg(unknown) 不存在 LINE 1: ...fault as "default",fields_default as "extra" from table_msg(...^ HINT: 没有匹配指定名称和参…

C语言里面函数嵌套调用的简单说明谢谢

比如有三个函数   funca()   {   funcb();   }   funcb()   {   funcc();   }   funcc()   {   cout << "Hello" <<endl;   }   这个就叫做嵌套调用 它是一个语言提供的程序设计的方法 嵌套就一个函数中包含另一个函数直接调用…