action:public class OrgAction extends ActionSupport implements ModelDriven{ private Organization org; private PageModel pm;
private List<Organization> orgs;
private OrgDTO orgDto = new OrgDTO();
private int offset;
private HttpServletRequest request = ServletActionContext.getRequest();
ApplicationContext cxt = new ClassPathXmlApplicationContext("beans.xml");
OrgManager orgManager = (OrgManager) cxt.getBean("orgManager");
//采用每页多少个 进行显示 来分页
public String list() {
pm = orgManager.findOrgs(orgDto.getParentId(), 0, 4);
orgs = pm.getDatas();
System.out.println(pm.getTotal());
return "list";
}
************************dao层://分页
public PageModel findOrgs(int parentId, int offset, int pagesize) {
//获得总记录数
String selectCountString = "select count(*) from Organization o where o.parent = null";
if(parentId != 0) {
selectCountString ="select count(*) from Organization o where o.parent.id =" + parentId;
}
int total = ((Long) this.getHibernateTemple().getSessionFactory().getCurrentSession()
.createQuery(selectCountString).uniqueResult()).intValue();
//获取当前页面的数据
String hql = "select o from Organization o where o.parent = null";
if(parentId != 0) {
hql = "select o from Organization o where o.parent.id = " + parentId;
}
List<Organization> datas = this.getHibernateTemple().getSessionFactory().getCurrentSession()
.createQuery(hql).setFirstResult(offset).setMaxResults(pagesize).list();
PageModel pm = new PageModel();
pm.setTotal(total);
pm.setDatas(datas);
return pm;
}jsp:<pg:pager url="org/org!findPage" items="${pm.total}" export="currentPageNumber=pageNumber">
<pg:param name="parentId"/>
<pg:first>
<a href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl}">前页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber}">
<font color="red">${pageNumber }</font>
</c:when>
<c:otherwise>
<a href="${pageUrl}">${pageNumber }</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next>
<a href="${pageUrl}">下页</a>
</pg:next>
<pg:last>
<a href="${pageUrl}">尾页</a>
</pg:last>
</pg:pager>pageModel:package com.java.cn.model;import java.util.List;public class PageModel {
private int total;
private List<Organization> datas; public int getTotal() {
return total;
} public void setTotal(int total) {
this.total = total;
} public List<Organization> getDatas() {
return datas;
} public void setDatas(List<Organization> datas) {
this.datas = datas;
}
}
private List<Organization> orgs;
private OrgDTO orgDto = new OrgDTO();
private int offset;
private HttpServletRequest request = ServletActionContext.getRequest();
ApplicationContext cxt = new ClassPathXmlApplicationContext("beans.xml");
OrgManager orgManager = (OrgManager) cxt.getBean("orgManager");
//采用每页多少个 进行显示 来分页
public String list() {
pm = orgManager.findOrgs(orgDto.getParentId(), 0, 4);
orgs = pm.getDatas();
System.out.println(pm.getTotal());
return "list";
}
************************dao层://分页
public PageModel findOrgs(int parentId, int offset, int pagesize) {
//获得总记录数
String selectCountString = "select count(*) from Organization o where o.parent = null";
if(parentId != 0) {
selectCountString ="select count(*) from Organization o where o.parent.id =" + parentId;
}
int total = ((Long) this.getHibernateTemple().getSessionFactory().getCurrentSession()
.createQuery(selectCountString).uniqueResult()).intValue();
//获取当前页面的数据
String hql = "select o from Organization o where o.parent = null";
if(parentId != 0) {
hql = "select o from Organization o where o.parent.id = " + parentId;
}
List<Organization> datas = this.getHibernateTemple().getSessionFactory().getCurrentSession()
.createQuery(hql).setFirstResult(offset).setMaxResults(pagesize).list();
PageModel pm = new PageModel();
pm.setTotal(total);
pm.setDatas(datas);
return pm;
}jsp:<pg:pager url="org/org!findPage" items="${pm.total}" export="currentPageNumber=pageNumber">
<pg:param name="parentId"/>
<pg:first>
<a href="${pageUrl}">首页</a>
</pg:first>
<pg:prev>
<a href="${pageUrl}">前页</a>
</pg:prev>
<pg:pages>
<c:choose>
<c:when test="${currentPageNumber eq pageNumber}">
<font color="red">${pageNumber }</font>
</c:when>
<c:otherwise>
<a href="${pageUrl}">${pageNumber }</a>
</c:otherwise>
</c:choose>
</pg:pages>
<pg:next>
<a href="${pageUrl}">下页</a>
</pg:next>
<pg:last>
<a href="${pageUrl}">尾页</a>
</pg:last>
</pg:pager>pageModel:package com.java.cn.model;import java.util.List;public class PageModel {
private int total;
private List<Organization> datas; public int getTotal() {
return total;
} public void setTotal(int total) {
this.total = total;
} public List<Organization> getDatas() {
return datas;
} public void setDatas(List<Organization> datas) {
this.datas = datas;
}
}
解决方案 »
- JAVA菜鸟一枚,这段代码看了很久了,硬是没看懂
- 在java中(SSH)有个表有主键ID(varchar) 类别(varchar) 父类ID(varchar)都放到List怎么冒泡排序或其他方法
- 如何让spring自动扫描jar包中的类
- 前台js怎么判断action执行完毕,并执行下面的代码
- 在applicationContext.xml中可以指定用类的哪个具体方法吗?
- Print2Flash3 com.jacob.com.ComFailException: Can't co-create object
- 如何用jmail 发送html各式的邮件?
- 请教一个关于session的问题,谢谢
- 我给大家说说我的问题,这个问题已经缠绕我好几天了!
- oracle转mysql后主键问题
- 初学者的疑惑-方法的声明
- 菜鸟求救
if(总页数%每页显示条数!=0){
页数++;
}