声明:本文代码来自“西安健飞软件”内部,由小洋提供全套技术支持!在此感谢!

PageList
package com.hp.struts.util;
import java.util.List;
publicclass PageList {
       private Pages page=null;         //分页对象
       private List objectList=null;    //对象集合
       private String pageStr="";      //分页字符串
      
       public List getObjectList() {
              returnobjectList;
       }
       publicvoid setObjectList(List objectList) {
              this.objectList = objectList;
       }
       public Pages getPage() {
              returnpage;
       }
       publicvoid setPage(Pages page) {
              this.page = page;
              pageStr=page.getLastPageBreak();
       }
       public String getPageStr() {
              returnpageStr;
       }
       publicvoid setPageStr(String pageStr) {
              this.pageStr = pageStr;
       }
}
Pages
package com.hp.struts.util;
import javax.servlet.http.HttpServletRequest;
publicclass Pages {
       private String fileName="";     
       privateintpageSize=2;           //当页显示记录数
       privateintallPage=1;             //总页数
       privateintcPage=1;               //当前页
       privateintsPage=1;               //当前页开始记录数
       privateintallRecord=1;          //总记录数
       private String lastPageBreak="";   //分页字符串
      
      
       public Pages(){
             
       }
      
       public Pages(String fileName,HttpServletRequest request){
             
              this.fileName=request.getContextPath()+fileName;
              //获得当前页
              String cPageStr = request.getParameter("cpage")==null?"1":request.getParameter("cpage");
             
              int cPageInt = 0;
              try
              {
                     cPageInt = Integer.parseInt(cPageStr);
              }catch(Exception e){
                     System.out.println("com.s6.util.Pages = "+e.getMessage());
                     cPageInt = 1;
              }finally{
                     cPage = cPageInt;
              }
       }
      
       //计算总页数,判断当前页的合法性,计算当前页的开始记录数,生成分页字符串
       publicvoid doPage(){
              //计算总页数
              this.allPage=(int)(this.allRecord+this.pageSize-1)/this.pageSize;
             
              //判断当前页的合法性
              if(this.cPage<0){
                     this.cPage=1;
              }
              if(this.cPage>this.allPage){
                     this.cPage=this.allPage;
              }
             
              //计算当前页开始记录数
              this.sPage=(this.cPage-1)*this.pageSize+1;
             
             
             
              //生成分页字符串
              StringBuffer str=new StringBuffer();
              //判断是否有问号“?”
              if(this.fileName.indexOf("?")==-1){
                     this.fileName=this.fileName+"?1=1";
              }
             
              str.append("<table width=/"100%/" height=/"100%/">");
             
              //添加表单
              str.append("<form name=/"pagelist/" method=/"post/" action=/"");
              str.append(this.fileName+"/">");
             
              str.append("<tr><td width=/"100%/" height=/"100%/" align=/"center/" valign=/"middle/">");
             
              str.append("总纪录数"+this.allRecord+"条");
              str.append("&nbsp;");
              //首页
              if(this.cPage>1){
                     str.append("<a href="+this.fileName+"&cpage=1>首页</a>");
              }else{
                     str.append("首页");
              }
              str.append("&nbsp;");
             
              //上一页
              if(this.cPage>1){
                     str.append("<a href=");
                     str.append(this.fileName+"&cpage=");
                     str.append(this.cPage-1);
                     str.append(">上一页</a>");
              }else{
                     str.append("上一页");
              }
              str.append("&nbsp;");
             
              //下一页
              if(this.cPage<this.allPage){
                     str.append("<a href=");
                     str.append(this.fileName+"&cpage=");
                     str.append(this.cPage+1);
                     str.append(">下一页</a>");
              }else{
                     str.append("下一页");
              }
              str.append("&nbsp;");
             
              //末页
              if(this.cPage<this.allPage){
                     str.append("<a href=");
                     str.append(this.fileName+"&cpage=");
                     str.append(this.allPage);
                     str.append(">末页</a>");
              }else{
                     str.append("末页");
              }
              str.append("&nbsp;");
             
              //第几页
              str.append("第");
              str.append(this.cPage);
              str.append("页");
              str.append("&nbsp;");
             
              //共几页
              str.append("共");
              str.append(this.allPage);
              str.append("页");
              str.append("&nbsp;");
             
              //跳转页
              for(int i=1;i<=this.allPage;i++){
                     str.append("&nbsp;");
                    
                     if(i==this.cPage){
                            str.append(i);
                     }else{
                            str.append("<a href=");
                            str.append(this.fileName+"&cpage=");
                            str.append(i);
                            str.append(">"+i+"</a>");
                     }
              }
             
             
              //str.append("&nbsp;&nbsp;跳转到");
              //str.append("<select name=/"cpage/" οnchange=/"document.pagelist.submit()/" >");
              //for(int i=1;i<=this.allPage;i++){
              //       str.append("<option value=/"");
              //       str.append(i);
              //       str.append("/"");
              //       if(this.cPage==i){
              //              str.append(" selected");
              //       }
              //       str.append(">");
              //       str.append(i);
              //       str.append("</option>");
              //}
              //str.append("</select>页");
              str.append("</td></tr></form>");
              str.append("</table>");
             
              lastPageBreak=str.toString();
      
       }
      
             
      
       publicint getAllPage() {
              returnallPage;
       }
       publicvoid setAllPage(int allPage) {
              this.allPage = allPage;
       }
       publicint getCPage() {
              returncPage;
       }
       publicvoid setCPage(int page) {
              cPage = page;
       }
       public String getFileName() {
              returnfileName;
       }
       publicvoid setFileName(String fileName) {
              this.fileName = fileName;
       }
       public String getLastPageBreak() {
              returnlastPageBreak;
       }
       publicvoid setLastPageBreak(String lastPageBreak) {
              this.lastPageBreak = lastPageBreak;
       }
       publicint getPageSize() {
              returnpageSize;
       }
       publicvoid setPageSize(int pageSize) {
              this.pageSize = pageSize;
       }
       publicint getSPage() {
              doPage();
              returnsPage;
       }
       publicvoid setSPage(int page) {
              sPage = page;
       }
       publicint getAllRecord() {
              returnallRecord;
       }
       publicvoid setAllRecord(int allRecord) {
              this.allRecord = allRecord;
       }
      
}
Action类里的分页方法(函数)
public ActionForward fenye(ActionMapping mapping, ActionForm form,
                     HttpServletRequest request, HttpServletResponse response) {
              String userId=request.getParameter("userId");
             
              UserDAO userDao=new UserDAO();
             
             
              Pages pages = new Pages("/user.do?method=fenye",request);
             
              pages.setPageSize(5);//当前页显示的记录数
             
              PageList pageList = userDao.getUserpagelist(pages);
             
              request.setAttribute("emps",pageList);
             
              return mapping.findForward("fenye");
       }
DAO里的分页方法
public PageList getUserpagelist(Pages pages)
       {
              PageList pageList = new PageList();
             
              List list = new ArrayList();
             
              String sql="select * from T_USER_SYS";
              //执行SQL语句获得结果集
              ResultSet rs=this.doExcuteQuery(sql);
             
              try {
                     //首先将光标移动到最后一行
                     rs.last();
                     pages.setAllRecord(rs.getRow());//记录集总行数
                    
                     rs.absolute(pages.getSPage());//光标定位到页的第一行
                     int i=0;//循环变量
                     //判断记录总行数是否大于0,并循环创建USER对象
                     if(pages.getAllRecord()>0)
                     {
                            do{
                                   UserBean userBean=new UserBean();
                                  
                                   userBean.setUserId(rs.getString(1));
                                   userBean.setUserName(rs.getString(2));
                                   userBean.setUserPwd(rs.getString(3));
                                   userBean.setUserState(rs.getString(4));
                                   list.add(userBean);
                                   i++;
                                  
                            }while(rs.next()&&i<pages.getPageSize());
                           
                           
                     }
              } catch (SQLException e) {
                     e.printStackTrace();
              }finally
              {
                     this.closeConn();
              }
              pageList.setPage(pages);
              pageList.setObjectList(list);
              return pageList;
       }
分页的JSP页面
<%@ page language="java" pageEncoding="UTF-8"%>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html:html lang="true">
 <head>
    <html:base />
   
    <title>fenye.jsp</title>
       <meta http-equiv="pragma" content="no-cache">
       <meta http-equiv="cache-control" content="no-cache">
       <meta http-equiv="expires" content="0">   
       <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
       <meta http-equiv="description" content="This is my page">
       <!--
       <link rel="stylesheet" type="text/css" href="styles.css">
       -->
 </head>
 
 <body>
       <table>
            <c:forEach items="${emps.objectList}"var="emp">
                <tr >
                  <td height="25" align="cneter" class="table3" bgcolor="dfdfdf">
                  <input type="checkbox" name="ck2" value="${emp.userId}"/></td>
                  <td align="center" class="table3" bgcolor="dfdfdf">${emp.userName}</td>
                  <td align="center" valign="middle" class="table3" bgcolor="dfdfdf">${emp.userPwd}</td>
             
                     <td align="center" valign="middle" class="table3" bgcolor="dfdfdf">
                      <html:link action="/deluser.do?userId=${emp.userId}">del</html:link>
                     </td>
              </tr>
               
            </c:forEach>
            <tr>
    <td align="left"><c:out value="${emps.pageStr}"escapeXml="false"></c:out></td>
 </tr>
       </table>
 </body>
</html:html>

SSH中的DAO

public PageList userList(Pages pages) {
                PageList pageList = new PageList();
                List list = new ArrayList();
                Session session = this.getSession();
                Transaction t = session.beginTransaction();
                // 获得结果集
                Query query = session.createQuery("from jfis.bean.JfisUserSys");
        //记录集总行数
                pages.setAllRecord(query.list().size());
                query.setFirstResult(pages.getSPage()-1);
                query.setMaxResults(5);
                List rs = query.list();
                Iterator iterator = rs.iterator();
                // 得到分页字符串
                pages.getSPage();
                int i = 0;// 循环变量
                // 判断记录总行数是否大于0,并循环创建USER对象
                if (pages.getAllRecord() > 0) {
                        do {
                                list = rs;
                                i++;
                        } while (iterator.hasNext() && i < pages.getPageSize());
                        pageList.setPage(pages);
                        pageList.setObjectList(list);
                       
                        t.commit();
                        session.close();
                }
                return pageList;
        }

Struts分页代码相关推荐

  1. mysql通用分页_MySQL海量数据的通用存储过程分页代码

    本节主要内容: MySQL海量数据的通用存储过程分页代码 本节为大家分享一例mysql 通用存储过程分页.海量数据分页的代码. 1,测试用的表结构: 复制代码 代码示例: CREATE TABLE I ...

  2. PHP分页代码实例教程

    PHP分页代码实例教程 分享一段php分页代码,很简单,作为php分页的入门教程不错. 专题推荐:php分页代码大全    php分页原理     php分页类 数据库链接及参数设定 //数据库连接 ...

  3. php mysql ajax 分页_ajax+php+mysql无刷新分页代码(1/2)_PHP教程

    ajax+php+mysql无刷新分页代码 ajax+php教程+mysql教程无刷新分页代码 2 3 4投票结果 5 6 7 8 9 function getxmlhttpobject() 10 { ...

  4. 分页原理+分页代码+分页类制作

      分页显示是一种非常常见的浏览和显示大量数据的方法,属于web编程中最常处理的事件之一.对于web编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此 ...

  5. php模型分页代码,ThinkPHP6.0模型关联分页

    模型关联分页简单案例,标签关联文章,对文章进行分页,上一篇文章写得比较繁琐,这里可以将问题拆解成一对多关系,那么问题就迎刃而解了. 我们可以通过查询tag直接拿到tag_id,通过中间表和文章表关联一 ...

  6. php ajax 分页phpapi,ajax分页_php ajax分页代码

    摘要 腾兴网为您分享:php ajax分页代码,智慧农业,长沙银行,一折包邮,信和财富等软件知识,以及381.65,红娘牵线,中经油马,战地小,歌词制作,唯美会,微软必应输入法,邓州在线,螺丝钉,侠客 ...

  7. php分页代码 页数太多,php google或baidu分页代码

    php实现google与baidu的分页代码,需要的朋友可以参考下. /** 作者:潇湘博客 时间: 2009-11-26 php技术群: 37304662 使用方法: include_once'Pa ...

  8. mysql分页存储过程 分页查询语句_分页存储过程(用存储过程实现数据库的分页代码)...

    用存储过程实现数据库的分页代码,加快页面执行速度.具体的大家可以测试下. --******************************************************* --* 分 ...

  9. mysql sqlserver分页_SqlServer、MySql万能分页代码

    sql数据库中常用的分页 我做了一个万能的 用的上的小伙伴拿去耍吧 go  ----SqlServer万能分页代码 create procedure [dbo].[sp_datapager] @pag ...

最新文章

  1. 用python画万花筒写轮眼_万花筒写轮眼画法教程
  2. 【BZOJ】【1038】【ZJOI2008】瞭望塔
  3. 损失函数,梯度下降与牛顿法
  4. findbugs教程
  5. 浅谈SQL注入风险 - 一个Login拿下Server(转)
  6. 成语json_人工智能测试爬百度成语测成语接龙
  7. 三星android rom开发者,六年老机吃上奥利奥:第三方三星S2安卓8.0刷机包发布
  8. rest_framework 权限功能
  9. 联想计算机usb驱动程序,联想笔记本USB3.0驱动
  10. java山地车 故障,山地车经常会出现的十个小故障,你都遇到了几个
  11. 人工智能终究会抢了我们程序员的饭碗
  12. 怎么在html中复制粘贴图片,如何复制其他网页上的文章和图片
  13. Git cherry-pick 详解
  14. win10或win11打印机无法打印
  15. openGL增强表面细节--凹凸贴图具体实现
  16. dev-c++输出的中文乱码
  17. preceding-sibling::*[1]
  18. 网易企业邮箱管理功能
  19. 信息学奥赛一本通:2028:【例4.14】百钱买百鸡
  20. mongodb关联查询

热门文章

  1. 2022第17届中国重庆橡塑工业展览会|成都橡塑展
  2. 五种原因导致孩子易患口腔溃疡,专家为你一一支招
  3. Python实现最小二乘法线性回归
  4. 恢复BIOS初始设置
  5. PVE和PVP的区别
  6. java实现代码在线编译器-从零开发(二)简单SpringBoot网络接口demo
  7. 【keil5应用】如何生成lib库文件,以及使用lib文件
  8. python 递归函数 三角形_数据结构-python(2)-递归
  9. 我是这样在windows上配置winpython的
  10. ubuntu——cat和输出命令详解