SSH分页

PageModel

package com.xy.util;

import java.util.List;

public class PageModel
{
 private List datas;    // 数据集合
 private int total;     // 数据总数
 private int totalPage; // 数据可分的页数

 public PageModel()
 {
  super();
 }

 public PageModel(List datas, int total, int totalPage)
 {
  super();
  this.datas = datas;
  this.total = total;
  this.totalPage = totalPage;
 }

 public List getDatas()
 {
  return datas;
 }

 public int getTotal()
 {
  return total;
 }

 public int getTotalPage()
 {
  return totalPage;
 }

 public void setDatas(List datas)
 {
  this.datas = datas;
 }

 public void setTotal(int total)
 {
  this.total = total;
 }

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

 

IStudentDao

package com.xy.dao;

import com.xy.pojo.Student;
import com.xy.util.PageModel;

public interface IStudentDao
{
 // 分页
 public PageModel GetAllStudent(int start, int pagesize);

}

 

 

StuentDaoImpl

package com.xy.dao.impl;

import java.util.List;
import com.xy.dao.IStudentDao;
import com.xy.pojo.Student;
import com.xy.util.PageModel;

public class StuentDaoImpl extends BaseDaoHibernateImpl implements IStudentDao
{

 public PageModel GetAllStudent(int start, int pagesize)
 {
  String sqlCount = "select count(*) from Student";
  int count = ((Long) this.getSession().createQuery(sqlCount).uniqueResult()).intValue();
  List lstStu = this.getSession().

      createQuery("from Student s join fetch s.classes").setFirstResult(start).setMaxResults

      (pagesize).list();
  int totalPage = 0;
  if (count % pagesize == 0)
  {
   totalPage = (count / pagesize);
  }
  else
  {
   totalPage = (count / pagesize) + 1;
  }

 

  // 得到结果集
  PageModel pm = new PageModel();
  pm.setTotal(count);
  pm.setDatas(lstStu);
  pm.setTotalPage(totalPage);
  return pm;
 }
}

 

ToMainAction
package com.xy.action;

import com.opensymphony.xwork2.ActionSupport;
import com.xy.dao.IStudentDao;
import com.xy.util.PageModel;

public class ToMainAction extends ActionSupport
{
 private int pageIntNum;    // 用来计算的页码
 private String pageNum;    // 传来的字符串参数
 private IStudentDao sdao;
 private PageModel stuList;
 private int totalPage;

 public String execute()
 {
  if (null != pageNum && !"".equals(pageNum))
  {
   pageIntNum = Integer.valueOf(pageNum);
   int start = (pageIntNum - 1) * 2;
   stuList = sdao.GetAllStudent(start, 2);

  }
  else
  {
   pageIntNum = 1;
   stuList = sdao.GetAllStudent(0, 2);
  }
  return SUCCESS;
 }

 public int getPageIntNum()
 {
  return pageIntNum;
 }

 public String getPageNum()
 {
  return pageNum;
 }

 public IStudentDao getSdao()
 {
  return sdao;
 }

 public PageModel getStuList()
 {
  return stuList;
 }

 public int getTotalPage()
 {
  return totalPage;
 }

 public void setPageIntNum(int pageIntNum)
 {
  this.pageIntNum = pageIntNum;
 }

 public void setPageNum(String pageNum)
 {
  this.pageNum = pageNum;
 }

 public void setSdao(IStudentDao sdao)
 {
  this.sdao = sdao;
 }

 public void setStuList(PageModel stuList)
 {
  this.stuList = stuList;
 }

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

Main.jsp

<s:iterator value="stuList.datas" var="stu" status="index">
     <tr
      onmouseover="this.style.backgroundColor='#DBE4FF';this.style.cursor='hand'"
      onmouseout="this.style.backgroundColor='#ffffff';this.style.cursor='default'"
      ondblclick="modify(<s:property value="#stu.stuId"/>)">
      <td>
       <s:checkbox name="stuids" fieldValue="%{#stu.stuId}" />
      </td>
      <td>
       <s:property value="#stu.stuId" />
      </td>
      <td>
       <s:property value="#stu.stuName" />
      </td>
      <td>
       <s:if test="#stu.stuSex==1">男</s:if>
       <s:else>女</s:else>
      </td>
      <td>
       <s:property value="#stu.stuAge" />
      </td>
      <td>
       <s:date name="#stu.stuBirth" format="yyyy年MM月dd日" />
      </td>
      <td>
       &nbsp;
       <s:property value="#stu.classes.className" />
      </td>
      <td>
       <s:if test="#stu.stuStatus==1">在职</s:if>
       <s:else>离职</s:else>
      </td>
      <td>
       <a href='stu_todel?id=<s:property value="#stu.stuId" />'>删除</a>
      </td>
     </tr>
    </s:iterator>
   </table>
  </s:form>

<s:if test="data.totalPage>1">
   <s:if test="stuList.totalPage==pageIntNum">

   <a href="ToMainAction?pageNum=1">首页</a>&nbsp;
   <a href="ToMainAction?pageNum=<s:property value="pageIntNum-1"/>">上一页</a>&nbsp;
   </s:if>
   <s:elseif test="pageIntNum==1">
   <a href="ToMainAction?pageNum=<s:property value="pageIntNum+1"/>">下一页</a>

   <a href="ToMainAction?pageNum=<s:property value="data.totalPage"/>">末页</a>
   </s:elseif>
   <s:else>

   <a href="ToMainAction?pageNum=1">首页</a>&nbsp;
   <a href="ToMainAction?pageNum=<s:property value="pageIntNum-1"/>">上一页</a>&nbsp;
   <a href="ToMainAction?pageNum=<s:property value="pageIntNum+1"/>">下一页</a>

   <a href="ToMainAction?pageNum=<s:property value="data.totalPage"/>">末页</a>

   </s:else>
   当前第<s:property value="pageIntNum" />页
   共<s:property value="data.totalPage" />页

</s:if>

 

 

SSH的配置与一般项目无区别。

时间: 2024-12-03 20:17:42

SSH分页的相关文章

ssh 分页-SSH分页问题,如何做出分页效果

问题描述 SSH分页问题,如何做出分页效果 我是一个SSH初学者,为了完成毕业设计我在一本书<SSH框架项目教程>上找个一个项目比较适合. 但是那个项目上没有分页这个功能,我想问有哪个大神可以帮忙教一下我 解决方案 http://blog.csdn.net/guangmingfupin/article/details/8474151 解决方案二: ssm的分页,可参考:http://git.oschina.net/wangkang/llsfw 希望能够帮到你. 解决方案三: ssh分页问题关于

ssh 分页

问题描述 三个框架的分页 解决方案 解决方案二:publicListget*****(intpageNO){DetachedCriteriadc=DetachedCriteria.forClass(****.class);Listlist=*****Dao.getList(dc,pageNO,15);inta=0;if(list.equals(null)){a=1;}returnlist;}publicPageBeangetBean(intpageNO){*****jg;DetachedCrit

ssh分页+模糊查询

问题描述 用myeclipse+sqlserver做,网上找了很多都没看懂,求个简单点的. 解决方案 解决方案二:分页的话,如果你使用了HIbernate,就简单了解决方案三:hibernate框架下的分页:Sessionsession=this.getSession();Queryq=session.createQuery(hql);q.setFirstResult(offset);q.setMaxResults(length); 模糊查询也太简单了吧like%xxx%

ssh分页技术

问题描述 谁有完整的程序发来看看哦!我的邮箱是279775950@qq.com 解决方案 解决方案二:publicList<User>findAll(IntegerpageFrom,IntegerpageNumber){Queryquery=getSession().createQuery("fromUsermodel").setFirstResult((pageFrom-1)*pageNumber).setMaxResults(pageNumber);returnquer

repater 分页-Repater 无法实现分页效果

问题描述 Repater 无法实现分页效果 public DataSet getArticle(string sql) { CheckConnection(); try { SqlDataAdapter sda = new SqlDataAdapter(sql con); DataSet ds = new DataSet(); sda.Fill(ds); return ds; } catch (Exception ex) { throw new Exception(ex.Message); }

jsp:include参数传送接收与应用

  先看一个简单的应用,在a.jsp中写如下代码 <div> <jsp:include page="name.jsp" > <jsp:param name="name" value="xy" /> </jsp:include> </div> 这就将名为name,值为xy的参数传送到name.jsp.   那么在name.jsp中接收参数     <%  String n=reque

hibernate的多条件查询——Criteria Query的应用

  查询数据时,人们往往需要设置查询条件.在SQL或HQL语句中,查询条件常常放在where子句中.此外,Hibernate还支持Criteria查询(Criteria Query),这种查询方式把查询条件封装为一个Criteria对象.在实际应用中,使用Session的createCriteria()方法构建一个org.hibernate.Criteria实例,然后把具体的查询条件通过Criteria的add()方法加入到Criteria实例中.这样,程序员可以不使用SQL甚至HQL的情况下进

SSH, 整合分页功能,连带DAO经典封装

任何一个封装讲究的是,使用,多状态. Action:     任何一个Action继承分页有关参数类PageManage,自然考虑的到分页效果,我们必须定义下几个分页的参数.并根据这个参数进行查值. 然后在继承ServiceManage,ServiceManage类是用来 存放共用的东西:response,重要的是Service的get set 具体讲一下PageManage,    totalPages;//总页数    totalRecord;//总记录数    showRecordNum=

SSH 怎么用hql实现分页 急

问题描述 SSH 怎么用hql实现分页 急 SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH 怎么用hql实现分页 急SSH