如果数据库查询的条数太多,在一个网页不方便显示时,考虑分页,只把部分送入前台,减少了数据传输量,提高了显示速度。 Mysql分页查询 - java^avaj - 走在架构师的路上 1、后台方法:在servlet,controller或action中得到分页后的文章,送往前台 import org.apache.log4j.Logger; import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.jdbc.core.JdbcTemplate; import shown.JdbcUtil; public class PageUtil private static final Logger logger = Logger.getLogger(PageUtil.class); /** * 得到分页查询后的列表 * @param queryString 查询语句 * @param countPerPage 每页显示的记录条数 * @param pagePerShow 每页上显示的页码数 */ public static List pagedList(HttpServletRequest request,String queryString,Integer countPerPage,Integer pagePerShow){ ApplicationContext apc=WebApplicationContextUtils.getRequiredWebApplicationContext(request.getSession().getServletContext()); JdbcTemplate jdbcTemplate=(JdbcTemplate)apc.getBean("jdbcTemplate"); String currPage=request.getParameter("PAGED_DBQUERY_CURRENT"); String totalPage=request.getParameter("PAGED_DBQUERY_TOTAL"); if (currPage==null||currPage.equals("")) { currPage="1";//初始化当前页 }if (pagePerShow==null||pagePerShow<=2) { pagePerShow=10;//初始化显示的页码数 }if (countPerPage==null||countPerPage<=0) { countPerPage=10;//初始化每页显示的记录条数 }if (totalPage==null||totalPage.equals("")) { int results=jdbcTemplate.queryForInt("select count(*) from ("+queryString+") as querytable"); int t=results%countPerPage==0?results/countPerPage:results/countPerPage+1; totalPage=results==0?"0":t+""; //初始化总页码,如果request没有再查询,避免每次都查询数据库,减少不必要的查询浪费 } queryString+=" limit "+(Integer.parseInt(currPage)-1)*countPerPage+","+countPerPage; request.setAttribute("PAGED_DBQUERY_CURRENT", currPage); request.setAttribute("PAGED_DBQUERY_TOTAL", totalPage); request.setAttribute("PAGED_DBQUERY_PAGEPERSHOW", pagePerShow); logger.debug(queryString);//打印:附带了分页信息的查询语句 return jdbcTemplate.queryForList(queryString); } 2、前台页面:在需要显示内容的网页上: <form name="PAGED_DBQUERY_FORM" method="post" action="test.do"> <jsp:include page="/pagedDbQuery.jsp?form_name=PAGED_DBQUERY_FORM"/> </form> 3、处理页面:pagedDbQuery.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c"%> <script type="text/javascript"> function formsub(current){ var current_form=document.forms['${param.form_name}']; current_form.action=current_form.action+'?PAGED_DBQUERY_TOTAL='+${PAGED_DBQUERY_TOTAL}+'&PAGED_DBQUERY_CURRENT='+current; current_form.submit(); } </script> <div> <% int curpage=Integer.parseInt(request.getAttribute("PAGED_DBQUERY_CURRENT").toString()); //当前页 int total=Integer.parseInt(request.getAttribute("PAGED_DBQUERY_TOTAL").toString()); //总页码 int pagePerShow=Integer.parseInt(request.getAttribute("PAGED_DBQUERY_PAGEPERSHOW").toString())/2;//每页显示的分页数 int pre=curpage>1?curpage-1:1; //上一页 int next=curpage<total?curpage+1:total; //下一页 int begin=curpage>pagePerShow?curpage-pagePerShow:1; //分页起始页 int end=curpage+pagePerShow<total?curpage+pagePerShow:total; //分页结束页 %> <span>共<%=total%>页</span> <span><a href="javascript:formsub(<%=pre%>)">上一页</a></span> <span>第</span> <c:forEach begin="<%=begin%>" end="<%=end%>" varStatus="current"> <span><a href="javascript:formsub(<%=begin%>)"><%=begin++%></a></span> </c:forEach> <span>页</span> <span><a href="javascript:formsub(<%=next%>)">下一页</a></span> </div> 附:处理页面 pagedDbQuery.jsp 的另一种实现方式:用纯页面java代码实现 把<c:forEach>部分也换成java代码,这样页面就不用jstl了,对喜欢在jsp写脚本的弟兄们可能更舒服: <% for(int i=begin;i<=end;i++){ out.print("<span><a href=\"javascript:formsub("+i+")\">"+i+"</a> </span>"); } %>
您还没有登录,请您登录后再发表评论
page.java java分页工具类
JAVA分页大全 包括了众多的分页方法struts分页...
JAVA分页实现,JAVA源代码+JS+HTML
Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页
实用的Java分页标签,实用的Java分页标签,实用的Java分页标签
java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类
Java分页处理 使用Pager-taglib标签库分页 Web 开发中分页是必须应用的技术,对查询结果不做分页处理几乎是不可思议的事情。在Java Web 技术中初学者一般会采用SQL 语句分页技术,并在这个基础的之上编写分页组件,...
简单实现了Ajax Java分页。详细代码请下载学习。
java分页方法总结 多种实现包括 jsp sql等等
请下载,你值得拥有!Java分页实现代码及注释,详细解析,包教包会,,你还在等什么呢,心动不如行动!
经典的java分页类,快来下载吧!!!!!
java分页代码下载
java分页控件,很不错的............................
3种java分页源程序 数据库用oracle
JAVA分页显示代码.pdf
JAVA分页是个经典问题,本人从网上搜集资料,并通过编程,较为完美地决地了这个问题,源码已经上传CSDN,值得下载! 我的方案是用两个TAG完成分页显示数据和页码,一个TAG(displaytag)专门显示数据,一个TAG...
JAVA分页大全 博文链接:https://baiduhi.iteye.com/blog/233573
Java分页李晗版 java 分页Java分页李晗版 java 分页Java分页李晗版 java 分页
java分页显示源码,包括数据库连接和jsp显示。
java分页(三种数据库sql server ,mySql,oracle)
相关推荐
page.java java分页工具类
JAVA分页大全 包括了众多的分页方法struts分页...
JAVA分页实现,JAVA源代码+JS+HTML
Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页Java分页
实用的Java分页标签,实用的Java分页标签,实用的Java分页标签
java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类 java分页工具类
Java分页处理 使用Pager-taglib标签库分页 Web 开发中分页是必须应用的技术,对查询结果不做分页处理几乎是不可思议的事情。在Java Web 技术中初学者一般会采用SQL 语句分页技术,并在这个基础的之上编写分页组件,...
简单实现了Ajax Java分页。详细代码请下载学习。
java分页方法总结 多种实现包括 jsp sql等等
请下载,你值得拥有!Java分页实现代码及注释,详细解析,包教包会,,你还在等什么呢,心动不如行动!
经典的java分页类,快来下载吧!!!!!
java分页代码下载
java分页控件,很不错的............................
3种java分页源程序 数据库用oracle
JAVA分页显示代码.pdf
JAVA分页是个经典问题,本人从网上搜集资料,并通过编程,较为完美地决地了这个问题,源码已经上传CSDN,值得下载! 我的方案是用两个TAG完成分页显示数据和页码,一个TAG(displaytag)专门显示数据,一个TAG...
JAVA分页大全 博文链接:https://baiduhi.iteye.com/blog/233573
Java分页李晗版 java 分页Java分页李晗版 java 分页Java分页李晗版 java 分页
java分页显示源码,包括数据库连接和jsp显示。
java分页(三种数据库sql server ,mySql,oracle)