public List<Menu> findByPageNo(Menu parentMenu, Integer pageNo,Integer pageDataCount) {
Integer dataCount=this.menuDaoHibernate.findCount(parentMenu);//查询记录总量。
if(pageNo==null){
pageNo=1;//默认为一页。
}
Integer firstResult=(pageNo-1)*pageDataCount;//开始查询的记录。
Integer maxResults=pageDataCount;//查询的数量。
if((maxResults+firstResult)>=dataCount){
maxResults=dataCount-firstResult;
}
logger.debug("firstResult="+firstResult);
logger.debug("maxResults="+maxResults);
return this.menuDaoHibernate.find(parentMenu, firstResult, maxResults);
}
/**
* <a target='_parent' href="#"
* >上一页</a>1 <a target='_parent' href="#"
* >[2]</a> <a target='_parent' href="#"
* >[3]</a> <a target='_parent' href="#"
* >[4]</a> <a target='_parent' href="#"
* >[5]</a> <a target='_parent' href="#"
* >[6]</a> <a target='_parent' href="#"
* >[7]</a> <a target='_parent' href="#"
* >[8]</a> <a target='_parent' href="#"
* >[9]</a> <a target='_parent' href="#"
* >[10]</a> <a target='_parent' href="#"
* >下一页</a>
*/
@Override
public String findPageString(Menu parentMenu, Integer pageNo,Integer pageDataCount) {
StringBuilder pageString=new StringBuilder();
if(pageNo==null){
pageNo=1;//默认为一页。
}
Integer dataCount=this.menuDaoHibernate.findCount(parentMenu);//查询记录总量。
Integer pageCount;//能分多少页
if(dataCount%pageDataCount==0){
pageCount=dataCount/pageDataCount;
}else{
pageCount=dataCount/pageDataCount+1;
}
if(pageNo!=1){//如果是第一页
pageString.append("<a href='javascript:goPageprevious();'>上一页</a>");//具有上一页。
}
Integer beginNo=1;
Integer maxNo=pageCount;
if(pageCount>10){//如果总分页达到 10页以上。
maxNo=10;
if(pageNo>4){
beginNo=pageNo-4;
Integer endNo=pageNo+5;
if(endNo<=pageCount){
maxNo=endNo;
}else{
maxNo=pageCount;
beginNo=maxNo-9;
}
}
}
logger.debug("beginNo="+beginNo);
logger.debug("maxNo="+maxNo);
for(int i=beginNo;i<=maxNo;i++){
if(i==pageNo){
pageString.append(i);
}else{
pageString.append("<a href='javascript:goPage("+i+");'>["+i+"]</a>");
}
pageString.append(" ");
}
if((pageNo!=pageCount)&&(pageCount>1)){
pageString.append("<a href='javascript:goPageNext();'>下一页</a>");
}
return pageString.toString();
}