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>
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>
相关文章推荐
- 使用select2实现查询结果分页显示
- 利用MySQL的一个特性实现MySQL查询结果的分页显示
- Struts中如何实现查询结果分页显示
- Struts 中如何实现查询结果分页显示
- Struts中如何实现查询结果分页显示
- jeesite框架学习——对查询结果为Map的集合进行分页显示
- ORACLE之储存过程实现查询结果分页显示
- 利用MySQL的一个特性实现MySQL查询结果的分页显示
- Java的MyBatis框架中实现多表连接查询和查询结果分页
- 前台jsp获取后台查询的结果集数据并实现分页显示
- Struts中实现查询结果分页显示
- Struts中如何实现查询结果分页显示
- jsp+MySQL的查询结果分页显示[实例]
- 基于bbossgroups持久层框架实现数据库分页查询
- GridView 实现自定义分页、排序、查询、添加、编辑、多选删除、导出、突出显示等常见应用实现
- 如何分页显示数据库查询结果?
- 数据库查询结果分页显示思路
- 网站权限设计实现——套用JQuery EasyUI列表显示数据、分页、查询
- mysql查询结果分页显示
- Solr4:Solr查询结果JSP分页显示(每次查询只返回指定记录数)