前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >ssm整合之四 分页

ssm整合之四 分页

作者头像
用户9184480
发布2024-12-17 12:05:00
发布2024-12-17 12:05:00
8000
代码可运行
举报
文章被收录于专栏:云计算linux云计算linux
运行总次数:0
代码可运行
代码语言:javascript
代码运行次数:0
复制
package com.util;

import java.util.List;

/**
类名:PageData.java
创建人: zh
修改人:
完成功能:分页返回用
*/
public class PageData{

    //列表
    private  List list;
    //行数
    private int count;

    public PageData(){
    }

    public <T> PageData(int count,List<T> list)
    {
        this.count=count;
        this.list=list;
    }
    public List getList() {
        return list;
    }
    public void setList(List list) {
        this.list = list;
    }
    public int getCount() {
        return count;
    }
    public void setCount(int count) {
        this.count = count;
    }


}

代码语言:javascript
代码运行次数:0
复制
package com.util;


import java.io.UnsupportedEncodingException;
import java.util.Enumeration;

import javax.servlet.http.HttpServletRequest;

public class PageUtil {

    private int  recordCount,pageSize,pageNo;//总数量   每页显示数量   页数
    private int pageCount=0;//总页数
    private String pageString,css="", url="";
    /**
     * 构造方法,初始化其他参数
     * @param pageSize
     * @param pageNo
     * @param recordCount
     * @param request
     */
    public PageUtil(int pageSize,int pageNo,int recordCount,HttpServletRequest request)
    {
        this.pageNo=pageNo;
        this.recordCount=recordCount;
        if(this.recordCount<0)
            this.recordCount=0;
        this.pageSize=pageSize;
        //链接地址
        this.url=request.getRequestURI()+"?";
        Enumeration  pNames=request.getParameterNames();  
         while(pNames.hasMoreElements()){  
          String  name=(String)pNames.nextElement();
          if( name.equalsIgnoreCase("pageNo")==false )
            {
              if(url.charAt(url.length()-1)=='?')
                  url+=name+"="+request.getParameter(name);
              else
                  url+="&"+name+"="+request.getParameter(name);
            }
          }
         if(url.charAt(url.length()-1)!='?')
         {
             url+="&";
         }
    }
    /**
     * 计算拼接分页字符串
     * @return
     */
    public String getPageString()
    {

        if(recordCount%pageSize==0)
        {
            pageCount=recordCount/pageSize;
        }
        else
        {
            pageCount=recordCount/pageSize+1;
        }

        //当前页
        if(pageNo<1)
        {
            pageNo=1;
        }
        //尾页
        if(pageNo>pageCount)
        {
            pageNo=pageCount;
        }

        //上页和首页
        if (pageNo>1)
        {
            pageString="<a href='"+url+"pageNo=1'><font class='"+css+"'>首页</font></a> ";
            pageString+="<a href='"+url+"pageNo="+(pageNo-1)+"'><font class='"+css+"'>上页</font></a> ";
        }
        else
        {
            pageString="<font class='"+css+"'>首页</font> ";
            pageString+="<font class='"+css+"'>上页</font> ";
        }


        pageString+="<font color=red>"+pageNo+"</font> ";

        //下页和尾页
        if(pageNo<pageCount)
        {
            pageString+="<a href='"+url+"pageNo="+(pageNo+1)+"' class='"+css+"'>下页</a> ";
            pageString+="<a href='"+url+"pageNo="+pageCount+"' class='"+css+"'>尾页</a> ";
        }
        else
        {
            pageString+="<font class='"+css+"'>下页</font> ";
            pageString+="<font class='"+css+"'>尾页</font>";
        }
        //跳转页
        pageString+="  转到第<select id=pageNo onchange=\"window.location.href='"+url+"pageNo='+this.value\">";;
        for(int i=1;i<=this.pageCount;i++) {
                if( pageNo==i) {
                    pageString+="<option value="+i+" selected>"+i+"</option>";
                } else {
                    pageString+="<option value="+i+">"+i+"</option>";
                }
        }
            pageString+="</select>页";

        return "<div align=center class="+css+">共"+pageCount+"页,"+recordCount+"条记录  "+pageString+"</div>";      
    }
    public void setPageNo(int pageNo) 
    {
        this.pageNo=pageNo;
    }

    public void setCss(String css) 
    {
        this.css=css;
    }

    public void setUrl(String url) 
    {
        this.url=url;
    }
    public static void main(String[] args) {
        System.out.println("abc".charAt("abc".length()-1));
    }
}
代码语言:javascript
代码运行次数:0
复制
Enumeration  pNames=request.getParameterNames();  
     while(pNames.hasMoreElements()){  
      String  name=(String)pNames.nextElement();
      if( name.equalsIgnoreCase("pageNo")==false )
      {
        if(url.charAt(url.length()-1)=='?')
          url+=name+"="+request.getParameter(name);
        else
          url+="&"+name+"="+request.getParameter(name);
      }
      }
     if(url.charAt(url.length()-1)!='?')
     {
       url+="&";
     }

代码的作用详细说明如下:

ssm整合之四 分页_mybatis
ssm整合之四 分页_mybatis

如果去掉上面的一段枚举解析url的代码,点击下页会回到查询全部数据的情况。

ssm整合之四 分页_spring mvc_02
ssm整合之四 分页_spring mvc_02

正常带查询的坟茔应该是如下状态

ssm整合之四 分页_jsp.easyui_03
ssm整合之四 分页_jsp.easyui_03
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-03-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档