JSP分页显示(前端处理)

2020-09-15 14:26:13 浏览数 (1)

文章目录

  • 思路
  • 代码
  • 运行效果

思路


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

即模改点1,3即可。

代码


代码语言:javascript复制
		// 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>

运行效果


原创不易,请勿转载本不富裕的访问量雪上加霜 ) 博主首页:https://blog.csdn.net/qq_45034708

0 人点赞