pageBean工具类代码(分页工具)
package com.home.domain;
import java.util.List;
/**
* 分页的JavaBean
* @author Administrator
*/
public class PageBean {
// 当前页
private int pageCode;
// 总页数
// private int totalPage;
// 总记录数
private int totalCount;
// 每页显示的记录条数
private int pageSize;
// 每页显示的数据
private List beanList;
public int getPageCode() {
return pageCode;
}
public void setPageCode(int pageCode) {
this.pageCode = pageCode;
}
/**
* 调用getTotalPage() 获取到总页数
* JavaBean的属性规定:totalPage是JavaBean是属性 ${pageBean.totalPage}
* @return
*/
public int getTotalPage() {
// 计算
int totalPage = totalCount / pageSize;
// 说明整除
if(totalCount % pageSize == 0){
return totalPage;
}else{
return totalPage + 1;
}
}
/*public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}*/
public int getTotalCount() {
return totalCount;
}
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public List getBeanList() {
return beanList;
}
public void setBeanList(List beanList) {
this.beanList = beanList;
}
}
WEB层
public String findByPage(){
//调用Service
DetachedCriteria criteria = DetachedCriteria.forClass(Customer.class);
//查询
PageBean page = customerService.findByPage(pageCode,pageSize,criteria);
//压栈
ValueStack vs = ActionContext.getContext().getValueStack();
//栈顶 map集合
vs.set("page", page);
return "page";
}
service层
//分页查询
@Override
public PageBean findByPage(Integer pageCode, Integer pageSize, DetachedCriteria criteria) {
return CustomerDao.findByPage(pageCode,pageSize,criteria);
}
Dao层
//分页查询
@Override
public PageBean findByPage(Integer pageCode, Integer pageSize, DetachedCriteria criteria) {
PageBean page = new PageBean<>();
page.setPageCode(pageCode);
page.setPageSize(pageSize);
//先查询总记录数
criteria.setProjection(Projections.rowCount());
List list = (List) this.getHibernateTemplate().findByCriteria(criteria);
if (list!=null&&list.size()>0) {
int totalCount = list.get(0).intValue();
page.setTotalCount(totalCount);
}
//强调 把select count(*)先清空 ,变成select *....
criteria.setProjection(null);
//分页查询数据,每页显示的数据
//Hib..提供的分页查询
List beanList = (List)this.getHibernateTemplate().findByCriteria(criteria, (pageCode-1)*pageSize, pageSize);
page.setBeanList(beanList);
return page;
}
前台设置客户数据
style="FONT-WEIGHT: normal; FONT-STYLE: normal; BACKGROUND-COLOR: white; TEXT-DECORATION: none">
${customer.cust_name }${customer.level.dict_item_name }${customer.source.dict_item_name }${customer.cust_linkman }${customer.cust_phone }${customer.cust_mobile }前台设置分页
style="LINE-HEIGHT: 20px; HEIGHT: 20px; TEXT-ALIGN: right">
共[${page.totalCount}]条记录,共[${page.totalPage}]页
,每页显示
selected>2
selected>3
条
[前一页]
${page.pageCode}
[后一页]
到
页
to_page()点击事件(Form表单提交到客户Action)
//提交分页
function to_page(page){
if(page){
$("#page").val(page);
}
document.customerForm.submit();
}