您的位置:首页 > 其它

SSI框架---实现查询结果分页显示

2011-08-17 17:02 513 查看
首先,写个分页查询结果封装类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}" onclick="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>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: