Struts+Spring+MyBatis MVC模式实现分页分页查询

来源:互联网 发布:大数据总监 编辑:程序博客网 时间:2024/06/06 16:28
首先引用一个写好的翻页模板工具类
Java代码 复制代码 收藏代码
  1. import java.util.List;
  2. /*
  3. * 翻页模板工具类
  4. *
  5. * */
  6. public final class PageModel<T> {
  7. private int currentPage;// 当前页
  8. private int pageSize;// 每页显示条数
  9. private int totalPage;// 总页数
  10. private int totalRecord;// 总记录数
  11. private List<T> dataList;// 分页数据
  12. private PageModel() {
  13. }
  14. /*
  15. * 初始化PageModel实例
  16. */
  17. private PageModel(finalint pageSize, final String page,final int totalRecord) {
  18. // 初始化每页显示条数
  19. this.pageSize = pageSize;
  20. // 设置总记录数
  21. this.totalRecord = totalRecord;
  22. // 初始化总页数
  23. setTotalPage();
  24. // 初始化当前页
  25. setCurrentPage(page);
  26. }
  27. /*
  28. * 外界获得PageModel实例
  29. */
  30. public static PageModel newPageModel(finalint pageSize, final String page,
  31. final int totalRecord) {
  32. return new PageModel(pageSize, page, totalRecord);
  33. }
  34. // 设置当前请求页
  35. private void setCurrentPage(String page) {
  36. try {
  37. currentPage = Integer.parseInt(page);
  38. } catch (java.lang.NumberFormatException e) {
  39. // 这里异常不做处理,当前页默认为1
  40. currentPage = 1;
  41. }
  42. // 如果当前页小于第一页时,当前页指定到首页
  43. if (currentPage < 1) {
  44. currentPage = 1;
  45. }
  46. if (currentPage > totalPage) {
  47. currentPage = totalPage;
  48. }
  49. }
  50. private void setTotalPage() {
  51. if (totalRecord % pageSize == 0) {
  52. totalPage = totalRecord / pageSize;
  53. } else {
  54. totalPage = totalRecord / pageSize + 1;
  55. }
  56. }
  57. /*
  58. * 获得当前页
  59. */
  60. public int getCurrentPage() {
  61. return currentPage;
  62. }
  63. /*
  64. * 获得总页数
  65. */
  66. public int getTotalPage() {
  67. return totalPage;
  68. }
  69. /*
  70. * 获得开始行数
  71. */
  72. public int getStartRow() {
  73. return (currentPage - 1) * pageSize;
  74. }
  75. /*
  76. * 获得结束行
  77. */
  78. public int getEndRow() {
  79. return currentPage * pageSize;
  80. }