public
interface
MemberService { //省略其他的代码 /**
*//**
* 分页查询
* @param currentPage 当前第几页
* @param pageSize 每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/ public
PageBean queryForPage(int
pageSize,int
currentPage); } |
5、Service层实现类的部分内码如下:
public
class
MemberServiceImpl implements
MemberService { //通过applicationContext.xml配置文件注入MemberDao的值 private
MemberDao memberDao; public
void
setMemberDao(MemberDao memberDao) { this.memberDao
= memberDao; } /**
*//**
* 分页查询
* @param currentPage 当前第几页
* @param pageSize 每页大小
* @return 封闭了分页信息(包括记录集list)的Bean
*/ public
PageBean queryForPage(int
pageSize,int
page){ final
String hql = "from
Member"; //查询语句 int
allRow = memberDao.getAllRowCount(hql); //总记录数 int
totalPage = PageBean.countTotalPage(pageSize, allRow); //总页数 final
int
offset = PageBean.countOffset(pageSize, page); //当前页开始记录 final
int
length = pageSize; //每页记录数 final
int
currentPage = PageBean.countCurrentPage(page); List<Member>
list = memberDao.queryForPage(hql,offset, length); //"一页"的记录 //把分页信息保存到Bean中 PageBean
pageBean = new
PageBean(); pageBean.setPageSize(pageSize); pageBean.setCurrentPage(currentPage); pageBean.setAllRow(allRow); pageBean.setTotalPage(totalPage); pageBean.setList(list); pageBean.init(); return
pageBean; }public
class
ListMember extends
ActionSupport{ //通过applicationContext.xml配置文件注入memberService的值 private
MemberService memberService; public
void
setMemberService(MemberService memberService) { this.memberService
= memberService; } private
int
page; //第几页 private
PageBean pageBean; //包含分布信息的bean public
int
getPage() { return
page; } public
void
setPage(int
page) { //若URL中无此参数,会默认为第1页 this.page
= page; } public
PageBean getPageBean() { return
pageBean; } public
void
setPageBean(PageBean pageBean) { this.pageBean
= pageBean; } @Override public
String execute() throws
Exception { //分页的pageBean,参数pageSize表示每页显示记录数,page为当前页 this.pageBean
= memberService.queryForPage(2,
page); return
SUCCESS; }}<s:iterator
value="pageBean.list"> <s:property
value="title"/> <a
href="getArticle.action?id=<s:property
value="id"/>">modify</a> <a
href="deleteArticle.action?id=<s:property
value="id"/>"
onclick="return
askDel()"/>delete</a><br/> </s:iterator> 共<s:property
value="pageBean.allRow"/>
条记录 共<s:property
value="pageBean.totalPage"/>
页 当前第<s:property
value="pageBean.currentPage"/>页<br/> <s:if
test="%{pageBean.currentPage
== 1}"> 第一页
上一页 </s:if> <s:else> <a
href="listMyArticle.action?page=1">第一页</a> <a
href="listMyArticle.action?page=<s:property
value="%{pageBean.currentPage-1}"/>">上一页</a> </s:else> <s:if
test="%{pageBean.currentPage
!= pageBean.totalPage}"> <a
href="listMyArticle.action?page=<s:property
value="%{pageBean.currentPage+1}"/>">下一页</a> <a
href="listMyArticle.action?page=<s:property
value="pageBean.totalPage"/>">最后一页</a> </s:if> <s:else> 下一页
最后一页 </s:else>
162

被折叠的 条评论
为什么被折叠?



