JSP分页显示技术(前端处理)

思路:

  1. 连接数据库获取结果集
  2. 通过地址栏传参获取当前是第几页
  3. 循环控制输出待显示的内容
  4. 设置相应页码跳转链接(即传参给点2)

即模改点1,3即可。

代码:

		// 1. 连接数据库获取结果集
		//示例 List<Message> all=DAOFactory.getMessageDAOInstance().getAllMessage();
	  	
	  	//分页处理
	    request.setCharacterEncoding("utf-8");//设置编码
	    int pag=1;
	    if(request.getParameter("page")!=null)
	    	pag=Integer.parseInt(request.getParameter("page"));
	    int rowCnt=all.size();  //总记录数
	    int pageSize=5;			//每页5条记录
	    int pageCnt=(rowCnt+pageSize-1)/pageSize; //页数
	    if(pag<=0||pag>pageCnt)pag=1;	//越界则默认首页
	    for(int j=(pag-1)*pageSize;j<rowCnt&&j<(pag-1)*pageSize+pageSize;j++){
			//3. 循环控制输出待显示的内容
			/*示例
			if(name.equals(all.get(j).getWriter())){
%>
                 <a href="updateMessage.jsp?messageID=<%=all.get(j).getMessageID() %>"> 修改 </a>
                 <a href="deleteMessage.jsp?messageID=<%=all.get(j).getMessageID()%> " οnclick="return del()"> 删除 </a>
<%				}//end if
%>
			<br>
	        <p align="center"><%=all.get(j).getContent() %></p>
	        <pre align="right">
	        <%=all.get(j).getWriter()%>
	       	<%=all.get(j).getTime()%>
	       	回复数:<%=all.get(j).getCount() %></pre>
			*/
<%			}//end for
%>
		<!-- 底部页码链接处理,记得改jsp名字 -->
	    <form name="info" method="get" action="test.jsp">
	    <p align="center" ><%=pag %> 页 共<%=pageCnt %>页 共<%=rowCnt %></p>
	    <p align="center">
<%		
		if(pag>1){ 
%>
		<a href="test.jsp?page=1">首页</a>
	    <a href="test.jsp?page=<%=(pag-1)%>">上一页</a>
<%		} 
	    if(pageCnt>1&&pag<pageCnt){
%>
	    	<a href="test.jsp?page=<%=(pag+1)%>">下一页</a>
	     	<a href="test.jsp?page=<%=pageCnt%>">尾页</a>
<%		}
	    if(pageCnt>1){
%>
	     跳到第<input type="text" name="page" size="5"/><input type="submit" name="submit" size="12" value="GO"/>
<%		} 
%>
	    </p>
		</form>

运行效果:

在这里插入图片描述
在这里插入图片描述

你的点赞将会是我最大的动力

原创文章 19 获赞 60 访问量 6095

猜你喜欢

转载自blog.csdn.net/qq_45034708/article/details/105478998