• ssh分页,使用离线查询对象


    分页工具类

    package com.EIMay.utils;

    import java.util.List;

    public class PageBean {
    //当前页数
    private Integer currentPage;
    //总记录数
    private Integer totalCount;
    //每页显示条数
    private Integer pageSize;
    //总页数
    private Integer totalPage;
    //分页列表数据
    private List list;

    //起止索引
    public Integer getStart(){
    return (this.currentPage-1)*this.pageSize;
    }

    public PageBean(Integer currentPage, Integer totalCount, Integer pageSize) {
    this.currentPage = currentPage;
    this.totalCount = totalCount;
    this.pageSize = pageSize;

    //判断传值是否为空(第一次点击列表)
    if(this.currentPage==null){
    //默认等于第一页
    this.currentPage = 1;
    }

    //判断传值是否为空(第一次点击列表)
    if(this.pageSize==null){
    //默认每页显示三条记录
    this.pageSize =3;
    }

    //计算总页数
    this.totalPage = (this.totalCount+this.pageSize-1)/this.pageSize;

    //判断传入的页面数是否超出范围
    if(this.currentPage < 1){
    ////不能小于1,默认等于第一页
    this.currentPage = 1;
    }
    if(this.currentPage > this.totalPage){
    //不能大于总页数,默认等于第一页
    this.currentPage = this.totalPage;
    }
    }

    public Integer getCurrentPage() {
    return currentPage;
    }

    public void setCurrentPage(Integer currentPage) {
    this.currentPage = currentPage;
    }

    public Integer getTotalCount() {
    return totalCount;
    }

    public void setTotalCount(Integer totalCount) {
    this.totalCount = totalCount;
    }

    public Integer getPageSize() {
    return pageSize;
    }

    public void setPageSize(Integer pageSize) {
    this.pageSize = pageSize;
    }

    public Integer getTotalPage() {
    return totalPage;
    }

    public void setTotalPage(Integer totalPage) {
    this.totalPage = totalPage;
    }

    public List getList() {
    return list;
    }

    public void setList(List list) {
    this.list = list;
    }


    }

    action

    public String list() throws Exception {
    //1.使用离线查询的方式获取查询条件
    DetachedCriteria dc = DetachedCriteria.forClass(Customer.class);
    //判断是否为空并封装参数
    if(StringUtils.isNotBlank(customer.getCust_name())){
    //不为空则添加查询条件
    dc.add(Restrictions.like("cust_name", "%"+customer.getCust_name()+"%"));
    }
    //2.调用service方法封装返回记录
    PageBean pb = cs.getPageBean(dc,currentPage,pageSize);
    //3.将返回的pageBean存到request域
    ActionContext.getContext().put("pageBean", pb);

    return "list";
    }

    service

    public PageBean getPageBean(DetachedCriteria dc, Integer currentPage,
    Integer pageSize) {
    //1.调用dao方法获得查询条件的总记录数
    Integer totalCount = cd.getTotalCount(dc);
    //2.构造PageBean,封装查询到的参数和传入的参数
    PageBean pb = new PageBean(currentPage,totalCount,pageSize);
    //3.调用dao方法获得查询列表
    List<Customer> list = cd.getPageList(dc,pb.getStart(),pb.getPageSize());
    //4将列表记录封装到PageBean
    pb.setList(list);
    return pb;
    }

    dao

    @Override
    public Integer getTotalCount(DetachedCriteria dc) {
    //设置查询的聚合函数,总记录数
    dc.setProjection(Projections.rowCount());

    List<Long> list = (List<Long>) getHibernateTemplate().findByCriteria(dc);

    //清空之前设置的聚合函数
    dc.setProjection(null);

    if(list!=null && list.size()>0){
    Long count = list.get(0);
    return count.intValue();
    }else{
    return null;
    }

    }

    @Override
    public List<T> getPageList(DetachedCriteria dc, Integer start, Integer pageSize) {

    List<T> list = (List<T>) getHibernateTemplate().findByCriteria(dc, start, pageSize);

    return list;
    }

    jsp

    <s:iterator value="#pageBean.list" var="cust" >
    <TR
    style="FONT-WEIGHT: normal; FONT-STYLE: normal; BACKGROUND-COLOR: white; TEXT-DECORATION: none">
    <TD>
    <s:property value="#cust.cust_name" />
    </TD>
    <TD>
    <s:property value="#cust.cust_level" />
    </TD>
    <TD>
    <s:property value="#cust.cust_source" />
    </TD>
    <TD>
    <s:property value="#cust.cust_linkman" />
    </TD>
    <TD>
    <s:property value="#cust.cust_phone" />
    </TD>
    <TD>
    <s:property value="#cust.cust_mobile" />
    </TD>
    <TD>
    <s:if test="#parameters.select==null">
    <a href="${pageContext.request.contextPath }/CustomerAction_toEdit?cust_id=<s:property value="#cust.cust_id"/>">修改</a>
    &nbsp;&nbsp;
    <a href="${pageContext.request.contextPath }/customerServlet?method=delete&custId=${customer.cust_id}">删除</a>
    </s:if>

  • 相关阅读:
    简明Vim练级攻略
    linux之cat命令
    linux之cat,more,less,head,tail
    linux之touch命令修改文件的时间戳
    linux 之创建文件命令
    python开发_function annotations
    python开发_python中的range()函数
    python开发_python中的module
    python开发_python中的函数定义
    python开发_python关键字
  • 原文地址:https://www.cnblogs.com/panshu-1234/p/9954662.html
Copyright © 2020-2023  润新知