首先,写个分页查询结果封装类PagerQueryResult,里面设置:当前页码page、每页显示的条目、查询结果条目、查询结果列表、页面总数等。 然后分别在Dao、Service、Action调用即可,具体如下:
1、DAO层
public List<QuestionTypeVO> getQuestionTypelist(int page,int pageSize) {
return (List<QuestionTypeVO>)this.getSqlMapClientTemplate().queryForList("questiontype.getQuestionTypelist",(page-1)*pageSize, pageSize);
}
2、Service层注入ItemCount、ResultList
public PagerQueryResult<QuestionTypeVO> getQuestionTypelist(QuestionTypeVO questiontype, PagerQueryResult<QuestionTypeVO> pagerResult) {
pagerResult.setItemCount(questiontypeDao.getQuesTypeCount(questiontype));
pagerResult.setResultList(questiontypeDao.getQuestionTypelist(pagerResult.getPage(), pagerResult.getPageSize()));
return pagerResult;
}
3、Action
public String list(){
if (this.pagerResult == null) {
this.pagerResult = new PagerQueryResult<QuestionTypeVO>();
this.pagerResult.setPage(1);
}
this.pagerResult.setPageSize(pageSize);
this.pagerResult=this.getQuestiontypeService().getQuestionTypelist(questiontype,pagerResult);
count=this.getQuestiontypeService().getQuesTypeCount(questiontype);
this.questiontypelist=this.pagerResult.getResultList();
return SUCCESS;
}
4、JSP代码
<!-- 分页结果 -->
<div class="pager" style="padding-left:120px;">
<c:if test="${pagerResult.page gt 1}"><a href="list.do?pagerResult.page=${pagerResult.page-1}">上一页</a></c:if>
第${pagerResult.page }页/共${pagerResult.pageCount }页
<c:if test="${pagerResult.page lt pagerResult.pageCount}"><a href="list.do?pagerResult.page=${pagerResult.page+1}">下一页</a></c:if>
<!-- 用于跳转页 -->
<span style="margin-left:6em;">
跳转到<input type="text" name="pagerResult.page" id="pageInput" style="width:4em"/>页
<a id="pager" href="list.do?pagerResult.page=${pagerResult.page}" οnclick="check();" style="font-size:12pt;">
确定
</a>
<input id="maxpage" type="hidden" value="${pagerResult.pageCount}"/>
</span>
</div>
<script type="text/javascript">
function check(){
var pageInput=document.getElementById("pageInput").value;
var maxpage=$("#maxpage").val();
var href=$("#pager").attr("href");
if(pageInput<=maxpage){
var index=href.indexOf("pagerResult.page=");
var substring=href.substring(0,index);
substring=substring+"pagerResult.page="+pageInput;
href=substring;
$("#pager").attr("href",href);
}
}
</script>