分页

-------------------------------------------------------分页
--分页1。普通list的分页
daoimp:
public Number count(String hql) {
return (Number) getCurrentSession().createQuery(hql).uniqueResult();
}
/* (non-Javadoc)
* 带页面大小和每页的起始数据列
*/
@Override
public List<T> getFenYeList(int size, int count,String hql) {
Query query = this.getCurrentSession().createQuery(hql);
return query.setFirstResult(count).setMaxResults(size).list();
}
serviceimp:
public List<Car> getFenYeList(int size, int count, String hql) {

return carDao.getFenYeList(size, count, hql);
}
/* (non-Javadoc)
* @see com.lis.tsp.service.CarService#count(java.lang.String)
*/
@Override
public Number count(String hql) {
// TODO Auto-generated method stub
return carDao.count(hql);
}
pageBean:
public class PageBean {
private int page; // 页码
private int pageSize; // 每页长度
private int start;  // 每页启始第一条数据
private int totalCount;//总记录数

private int totalPage;

/**
* @return the totalPage
*/
public int getTotalPage() {
return totalPage;
}
/**
* @param totalPage the totalPage to set
*/
public void setTotalPage(int totalPage) {
this.totalPage = totalPage;
}
public PageBean() {
this.page=1;
}
/**
* @return the totalCount
*/
public int getTotalCount() {
return totalCount;
}
/**
* @param totalCount the totalCount to set
*/
public void setTotalCount(int totalCount) {
this.totalCount = totalCount;
}
public int getPage() {
return page;
}
public void setPage(int page) {
this.page = page;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getStart() {
return start;
}
public void setStart(int start) {
this.start = start;
}
}
action:
----普通的list分页
----public String list(){
String hql="from Car c";
Number number=carService.count("select count(c) "+hql);
pageBean.setTotalCount(number.intValue());
pageBean.setPageSize(3);
pageBean.setStart((pageBean.getPage()-1)*3);
pageBean.setTotalPage(pageBean.getTotalCount()%pageBean.getPageSize()==0?pageBean.getTotalCount()/pageBean.getPageSize():pageBean.getTotalCount()/pageBean.getPageSize()+1);
List<Car> list=carService.getFenYeList(3,pageBean.getStart(), hql);
ActionContext.getContext().put("pageBean", pageBean);
ActionContext.getContext().put("chaxunid","chaxunid");
ActionContext.getContext().put("list", list);
return "list";
}
----有查询结果的list分页
-------public String query(){
String[] s=new String[5];
int i=0;
String hql="from Car c where 1=1 ";
//--当已经有list数据后,进行分页的操作---cahxuanid是查询结果list分页操作时带上的一种标志
if(ServletActionContext.getRequest().getParameter("cahxuanid")!=null){
//List<Car> list=carService.getQueryCar(hql);
hql=(String)ServletActionContext.getRequest().getSession().getAttribute("hql");
}
else{
//---查询时,需要这些数据来进行查询。组建好hql语句把他放在request中
if(car.getCarNumber()!=null&&!car.getCarNumber().equals("")){
hql=hql+"and c.carNumber='"+car.getCarNumber()+"'";
}

if(car.getCarChePai()!=null&&!car.getCarChePai().equals("")){
hql=hql+"and c.carChePai='"+car.getCarChePai()+"'";
}

if(car.getCarType()!=null&&!car.getCarType().equals("")){
hql=hql+"and c.carType='"+car.getCarType()+"'";
}

if(car.getCarPlace()!=null&&!car.getCarPlace().equals("")){
hql=hql+"and c.carPlace='"+car.getCarPlace()+"'";
}

if(car.getCarState()!=null&&!car.getCarState().equals("")){
hql=hql+"and c.carState='"+car.getCarState()+"'";
}
if(carBuyingTimeStart!=null){
hql=hql+"and c.carBuyingTime>='"+carBuyingTimeStart+"'";
}
if(carBuyingTimeEnd!=null){
hql=hql+"and c.carBuyingTime<='"+carBuyingTimeEnd+"'";
}
ServletActionContext.getRequest().getSession().setAttribute("hql",hql);
}
Number number=carService.count("select count(c) "+hql);
pageBean.setTotalCount(number.intValue());
pageBean.setPageSize(3);
pageBean.setStart((pageBean.getPage()-1)*3);
pageBean.setTotalPage(pageBean.getTotalCount()%pageBean.getPageSize()==0?pageBean.getTotalCount()/pageBean.getPageSize():pageBean.getTotalCount()/pageBean.getPageSize()+1);
List<Car> list=carService.getFenYeList(3,pageBean.getStart(), hql);
ActionContext.getContext().put("list", list);
ActionContext.getContext().put("pageBean", pageBean);
return "list";
}
jsp:
 <div class="leftPage">
                            共${pageBean.totalCount}条记录,当前第${pageBean.page}/${pageBean.totalPage}页,每页${pageBean.pageSize}条记录
                        </div> 
                        <div class="rightPage">
                            <!-- <a class="btnPage" href="javascript:void(0)">首页</a> <a class="btnPage" href="javascript:void(0)">
                                上一页</a>
                           <a class="btnPage" href="javascript:void(0)">下一页</a> <a class="btnPage" href="javascript:void(0)">
                           尾页 </a>&nbsp; 转到第<input type="text" class="inputPage" />页 <a href="javascript:void(0)"
                                        id="btnGo">GO</a> -->
                             <!-- 这是所有数据的list的分页,用一个变量标记 -->
                              <s:if test="%{#chaxunid=='chaxunid'}">
                              <s:if test="%{#pageBean.page==1}">
                             
                              </s:if>
                              <s:else>
                              <s:a action="CarAction_list?pageBean.page=1" cssClass="btnPage">首页</s:a>
                              <s:a action="CarAction_list?pageBean.page=%{#pageBean.page-1}" cssClass="btnPage">上一页</s:a>
                              </s:else>
                              <s:if test="%{#pageBean.page==#pageBean.totalPage}">
                             
                              </s:if>
                              <s:else>
                              <s:a action="CarAction_list?pageBean.page=%{#pageBean.page+1}" cssClass="btnPage">下一页</s:a>
                              <s:a action="CarAction_list?pageBean.page=%{#pageBean.totalPage}" cssClass="btnPage">最后一页</s:a>
                              </s:else>
                              &nbsp; 转到第
                              <s:form action="CarAction_list" cssStyle="display:block;float:right;margin-top:-19px">
                              <%-- <input type="text" class="inputPage" />页 <s:a 
                                        id="btnGo" cssClass="btnPage">GO</s:a> --%>
                                        <s:textfield name="pageBean.page" cssClass="inputPage" ></s:textfield>
                                        <s:submit value="GO" cssClass="btnPage"></s:submit>
                                 </s:form>
                              </s:if>
                              <!--查询有条件时的分页 -->
                              <s:else>
                             
                              <s:if test="%{#pageBean.page==1}">
                             
                              </s:if>
                              <s:else>
                              <s:a action="CarAction_query?pageBean.page=1&cahxuanid=1" cssClass="btnPage"> 首页</s:a>
                              <s:a action="CarAction_query?pageBean.page=%{#pageBean.page-1}&cahxuanid=1" cssClass="btnPage">上一页</s:a>
                              </s:else>
                              <s:if test="%{#pageBean.page==#pageBean.totalPage}">
                             
                              </s:if>
                              <s:else>
                              <s:a action="CarAction_query?pageBean.page=%{#pageBean.page+1}&cahxuanid=1" cssClass="btnPage">下一页</s:a>
                              <s:a action="CarAction_query?pageBean.page=%{#pageBean.totalPage}&cahxuanid=1" cssClass="btnPage">最后一页</s:a>
                              </s:else>
                              &nbsp; 转到第
                              <s:form action="CarAction_query" cssStyle="display:block;float:right;margin-top:-19px">
                              <%-- <input type="text" class="inputPage" />页 <s:a 
                                        id="btnGo" cssClass="btnPage">GO</s:a> --%>
                                        <s:textfield name="pageBean.page" cssClass="inputPage" ></s:textfield>
                                        <s:hidden name="cahxuanid"></s:hidden>
                                        <s:submit value="GO" cssClass="btnPage"></s:submit>
                                 </s:form>
                              </s:else>
                        </div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值