Java实现分页功能 代码很粗糙,都是根据自己所需去定义逻辑功能的。
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java实现分页功能 代码很粗糙,都是根据自己所需去定义逻辑功能的。,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4349字,纯文字阅读大概需要7分钟。
内容图文
1.首先定义了一个PageUtil的类,看了网上的很多教程,貌似都有一个这样的类,自己也定义了一个。在代码编写过程中发现这个类其实也没有那么大的作用,但是不去定义这个类,感觉好像缺少什么似得。(请高手解释下这个类的存在的意义。)
1 package com.util; 2 3 public class PageUtil { 4 private int totalRows; //总的记录数 5privateint curPage; //当前页码 6privateint pageSize; //每页记录数 7privateint totalPages; 8public PageUtil(int totalRows, int curPage, int pageSize) { 9super(); 10this.totalRows = totalRows; 11this.curPage = curPage; 12this.pageSize = pageSize; 13 } 14public PageUtil(int totalRows, int pageSize) { 15this.totalRows=totalRows; 16this.pageSize=pageSize; 17 } 1819//总页数20publicint getTotalPages() { 21return totalRows%pageSize==0?totalRows/pageSize:totalRows/pageSize+1; 22 } 23publicint getTotalRows() { 24return totalRows; 25 } 26publicvoid setTotalRows(int totalRows) { 27this.totalRows = totalRows; 28 } 29publicint getCurPage() { 30return curPage; 31 } 32publicvoid setCurPage(int curPage) { 33this.curPage = curPage; 34 } 35publicint getPageSize() { 36return pageSize; 37 } 38publicvoid setPageSize(int pageSize) { 39this.pageSize = pageSize; 40 } 41publicvoid setTotalPages(int totalPages) { 42this.totalPages = totalPages; 43 } 4445 }
2. 自己根据所需的功能提供了一个QueryList的action类。
1 package com.action; 2 3 import java.util.List; 4 5 import javax.servlet.http.HttpSession; 6 7 import org.apache.struts2.ServletActionContext; 8 9 import com.bean.Student; 10 import com.daoImpl.DaoImpl; 11 import com.opensymphony.xwork2.ActionSupport; 12 import com.util.PageUtil; 13 14 public class QueryAll extends ActionSupport { 15 private final static int pageSize=8; 16 private DaoImpl daoImpl=new DaoImpl(); 17 private PageUtil pageUtil; 18 private int rows; 19 20 private int curPage; 21 public void setCurPage(int curPage) { 22 this.curPage = curPage; 23 } 24 25 public String execute() throws Exception { 26 rows=daoImpl.getTotalRows(); 27 pageUtil=new PageUtil(rows, pageSize); 28 if(curPage>pageUtil.getTotalPages()){ 29 pageUtil.setCurPage(pageUtil.getTotalPages()); 30 } 31 else if(curPage>0) { 32 pageUtil.setCurPage(curPage); 33 }else { 34 pageUtil.setCurPage(1); 35 } 36 37 //test 38 List < Student > studetnsInfo=daoImpl.queryList(pageUtil.getPageSize(), pageUtil.getCurPage()); 39 System.out.println(studetnsInfo.size()); 40 41 HttpSession session=ServletActionContext.getRequest().getSession(); 42 43 session.setAttribute("list", studetnsInfo); 44 session.setAttribute("curPage", pageUtil.getCurPage()); 45 46 return SUCCESS; 47 } 48 50 }
这里把前台所需的信息放在session里面,提供给前台使用。控制逻辑上当访问首页之前和尾页之后的页面的时候,自动定位到首页和尾页。
附上queryList()方法的代码。
1 public List<Student> queryList(int pageSize, int curPage) { 2 List<Student> list=new ArrayList<>(); 3 Student stu; 4 String sql="select * from classa limit "+pageSize*(curPage-1)+", "+pageSize; 5try { 6 con=JDBC_Connection.getConnection(); 7 statement=con.createStatement(); 8 9 res=statement.executeQuery(sql); 10while(res.next()){ 11 stu=new Student(res.getString(1), res.getString(2), res.getString(3), res.getDouble(4), res.getDouble(5)); 12 list.add(stu); 13 } 14 } catch (SQLException e) { 15 e.printStackTrace(); 16 } 17try { 18 destory(); 19 } catch (Exception e) { 20 e.printStackTrace(); 21 } 22return list; 23 }
3.前端页面自己不是太懂,随便写了展示jsp页面。
1 <body> 2 <% 3int curPage=0; 4 5if(session.getAttribute("curPage")!=null) 6 curPage=(int)session.getAttribute("curPage"); 7 %> 8 <form action="queryAll" method="post"> 9 <table width="98%" align="center" cellpadding="1" cellspacing="1" border="1"> 10 <tr align="center"> 11 <td width="5%">学号</td> 12 <td width="5%">姓名</td> 13 <td>学术贡献</td> 14 <td width="5%">scoreA</td> 15 <td width="5%">socreB</td> 16 </tr> 17 <s:iterator var="stu" value="#session.list" > 18 <tr> 19 <td>${stu.stuNo}</td> 20 <td>${stu.name}</td> 21 <td>${stu.detialInfo}</td> 22 <td>${stu.scoreA}</td> 23 <td>${stu.socreB}</td> 24 </tr> 25 </s:iterator> 2627 </table> 2829 <div align="right" style="color: red;"> 30 <a href="queryAll?curPage=<%=curPage-1%>">上一页</a>/ 31 <a href="queryAll?curPage=<%=curPage+1%>">下一页</a> 32 </div> 333435 </form> 3637 </body>
原文:http://www.cnblogs.com/xpp-123/p/5925596.html
内容总结
以上是互联网集市为您收集整理的Java实现分页功能 代码很粗糙,都是根据自己所需去定义逻辑功能的。全部内容,希望文章能够帮你解决Java实现分页功能 代码很粗糙,都是根据自己所需去定义逻辑功能的。所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。