java 实现JSP页面上一页及下一页封装

 

import com.coupon.i18n.Messages;


public class PageUtils {

 public PageUtils(){
  
 }
 private int firstPage = 1;

 private int lastPage = 0;

 private int rowsOfPage = 12;

 private int currOfPage = 1;

 // private int totalOfRows = 0;

 private int totalOfPage = 0;

 private int totalRows = 0;

 private String fistLabel = Messages.getString("PageUtil.Home"); //$NON-NLS-1$

 private String preLabel = Messages.getString("PageUtil.Previous"); //$NON-NLS-1$

 private String nextLabel = Messages.getString("PageUtil.Next"); //$NON-NLS-1$

 private String lastLabel = Messages.getString("PageUtil.Last"); //$NON-NLS-1$

 private String pageSpace = "  "; //$NON-NLS-1$

 private String pagePrefix = "javascript:";// //$NON-NLS-1$
 private String sortStr; //$NON-NLS-1$

 public void setTotalPage(int totalRows) {
  this.totalRows = totalRows;
  int rest = totalRows % rowsOfPage, ii = totalRows / rowsOfPage;
  if (rest == 0) {
   totalOfPage = ii;
  } else if (rest > 0) {
   totalOfPage = ii + 1;
  }
  lastPage = totalOfPage;
 }

 public String getPageSum() {
  return Messages.getString("PageUtil.Total") + totalRows + Messages.getString("PageUtil.CounntPage")+pageSpace+ pageSpace+Messages.getString("PageUtil.PageShow") + rowsOfPage //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    + Messages.getString("PageUtil.Count")+pageSpace+ pageSpace+Messages.getString("PageUtil.CurrentPage") + currOfPage + "</b>/<b>" + totalOfPage //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
    + "</b>" + pageSpace + pageSpace; //$NON-NLS-1$
 }

 public String packageInput(int num,String url){
  return "<input type='hidden' value='"+num+
  "' name='page' id='page'/><input onChange='"+url+"(1)' type='text' style='width:25px; height:25px;' value='"+rowsOfPage+
  "' id='pagesize' name='pagesize'/><input type='hidden' name='sortStrPre' value='"+sortStr+"' id='sortStrPre'/><input type='hidden' name='profix' value='"+url+"' id='profix'/>";
 }
 
 public String packageSelect(){
  String select="<select id='gotoPage' οnchange='"+pagePrefix+"(this.value)'>"; //$NON-NLS-1$ //$NON-NLS-2$
  for(int i=1;i<=totalOfPage;i++){
   if(i==currOfPage)
    select+="<option selected='selected' value='"+i+"'>"+i+"</option>"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
   else
    select+="<option value='"+i+"'>"+i+"</option>"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
  }
  return select+"</select>"; //$NON-NLS-1$
 }
 public String getPageHref(int curr) { // NOPMD by XUPO
  if (curr < firstPage)
   curr = firstPage;
  if (curr > lastPage)
   curr = lastPage;

  int first = firstPage, pre = curr - 1, next = curr + 1, last = lastPage;
  if (pre < first)
   pre = first;
  if (next > last)
   next = last;

  
  String page = null;
  if (curr == 1 && totalOfPage == 1) {
   page = fistLabel + pageSpace + preLabel + pageSpace + nextLabel
     + pageSpace + lastLabel;
  } else if (curr == first) {
   page = fistLabel + pageSpace + preLabel + pageSpace + "<a href=\"" //$NON-NLS-1$
     + pagePrefix+"("+next+")"+ "\">" + nextLabel + "</a>" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + pageSpace + "<a href=\"" + pagePrefix+"("+last+")"+ "\">" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + lastLabel + "</a>"; //$NON-NLS-1$
  } else if (curr > first && curr < last) {
   page = "<a href=\"" + pagePrefix +"("+ first +")"+ "\">" + fistLabel //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + "</a>" + pageSpace + "<a href=\"" +pagePrefix  +"("+ pre+")" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + "\">" + preLabel + "</a>" + pageSpace + "<a href=\"" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
     + pagePrefix +"("+ next +")"+ "\">" + nextLabel + "</a>" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + pageSpace + "<a href=\"" + pagePrefix +"("+ last +")"+ "\">" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + lastLabel + "</a>"; //$NON-NLS-1$
  } else if (curr == last) {
   page = "<a href=\"" + pagePrefix +"("+ first +")"+ "\">" + fistLabel //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + "</a>" + pageSpace + "<a href=\"" + pagePrefix + "("+pre+")" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     + "\">" + preLabel + "</a>" + pageSpace + nextLabel //$NON-NLS-1$ //$NON-NLS-2$
     + pageSpace + lastLabel;
  }
  // System.out.println(page);
  return page;
 }

 public String getPageTool(String pageNo,int pageSize, String actionStr, int totalRows) {
  rowsOfPage=pageSize;
  setTotalPage(totalRows);
  pagePrefix += actionStr;
  // totalOfRows = totalRows;
  int num = 1;
  if (pageNo != null && pageNo.matches("(\\-|\\+)?[1-9]{1}\\d*")) { //$NON-NLS-1$
   num = Integer.parseInt(pageNo.toString());
   if (num < 0)
    num = 1;
   else if (num > totalOfPage)
    num = totalOfPage;
   currOfPage = num;
  }
  return getPageSum() +packageInput(num,actionStr)+ getPageHref(num)+packageSelect();
 }

 public int getStartRow() {
  return (currOfPage - 1) * rowsOfPage;
 }

 public int getRowsOfPage() {
  return rowsOfPage;
 }

 public void setRowsOfPage(int rowsOfPage) {
  this.rowsOfPage = rowsOfPage;
 }

 public String getSortStr() {
  return sortStr;
 }

 public void setSortStr(String sortStr) {
  this.sortStr = sortStr;
 }

 

 

 

翻页实体类:

import java.util.List;

public class PageResult {
    //用于分页
 private String pageTool = null;
 //用于保存查询后的结果
 private List pageList = null;

 public String getPageTool() {
  return pageTool;
 }
 public void setPageTool(String pageTool) {
  this.pageTool = pageTool;
 }

 public List getPageList() {
  return pageList;
 }
 public void setPageList(List pageList) {
  this.pageList = pageList;
 }

}

 

 

调用实现:

PageUtils pageUtil=new PageUtils();
   pageUtil.setSortStr(“排序字段”);
   pageResult.setPageList(对用LIst);
   pageResult.setPageTool(pageUtil.getPageTool(页数+"",每页数, 对应Function, 总数));

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
熟悉项目开发过程中SSM框架、JSP、Mysql使用,知道各技术之间的如何衔接; 考虑到部分学生只需要学习前台(买家)或是后台(后台),故将电商系统分为电商系统前台和电商系统后台两个项目, 当前课程包含电商系统前台和电商系统后台 该课程主要涉及到的技术有:  项目涉及的技术:  1、前端:jsp、css、javascript、jQuery(js框架)、bootstrap框架 2、后台:Spring MVC、Spring、Mybatis框架、javaMail进行邮件发送、jstl 、jstl自定义分页标签、代码生成器等 3、数据库:Mysql 4、服务器:Tomcat项目开发涉及的功能: 1、项目以及数据库搭建 2、用户登录、退出3、用户注册、邮件发送、以及用户信息激活4、首页商品信息页面搭建以及查询功能实现5、查询商品明细6、加入商品至购物车、删除、更新、清除购物车商品信息7、确认订单信息8、订单页面搭建以及下订单功能实现9、查询我的购物车以及订单信息10、商品明细查看,商品修改,商品下架11、商品类型管理12、订单管理13、代码机器人使用等等其他实战项目:java项目实战之电商系统全套(前台和后台)(java毕业设计ssm框架项目)https://edu.csdn.net/course/detail/25771 java项目之oa办公管理系统(java毕业设计)https://edu.csdn.net/course/detail/23008 java项目之hrm人事管理项目(java毕业设计)https://edu.csdn.net/course/detail/23007 JavaWeb项目实战之点餐系统前台https://edu.csdn.net/course/detail/20543 JavaWeb项目实战之点餐系统后台https://edu.csdn.net/course/detail/19572 JavaWeb项目实战之宿舍管理系统(Java毕业设计含源码)https://edu.csdn.net/course/detail/26721 JavaWeb项目实战之点餐系统全套(前台和后台)https://edu.csdn.net/course/detail/20610 java项目实战之电子商城后台(java毕业设计SSM框架项目)https://edu.csdn.net/course/detail/25770 java美妆商城项目|在线购书系统(java毕业设计项目ssm版)https://edu.csdn.net/course/detail/23989 系统学习课程:JavaSE基础全套视频(环境搭建 面向对象 正则表达式 IO流 多线程 网络编程 java10https://edu.csdn.net/course/detail/26941 Java Web从入门到电商项目实战挑战万元高薪(javaweb教程)https://edu.csdn.net/course/detail/25976其他素材版(毕业设计或课程设计)项目:点击老师头像进行相关课程学习

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值