struts2实现最简单的分页技术

struts2实现分页技术:

在对MemberUser类(表)中的数据进行分页:

1.在MemberUserDaoImpl 中添加 获取数据库中表的总数量的方法:

public int counterByPage() {// TODO Auto-generated method stubsql="select count(*) from memberuser";ResultSet rs =util.Query(sql);int totalCount=0;try {while(rs.next()){totalCount = rs.getInt(1);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}return totalCount;}

2.在MemberUserDaoImpl中添加 获取当前页的数据集合的方法:

public List<MemberUserRole> queryMemberUserInfoByPage(int pageNow,int limitPage) {// TODO Auto-generated method stubsql="SELECT * FROM (SELECT A.*, ROWNUM RN FROM (select M.MEMBERID,M.MEMBERNAME,M.AGE,M.GENDER,M.BIRTHDAY,M.MEMBER_LABEL,M.MEMBER_INTRODUCTION,M.MEMBER_PICTURE,M.MEMBER_INTEGRAL,M.REGISTER_DATE,P.ROLENAME,M.ACCOUNTNUMBER,M.PWD,M.MEMBEREMAIL from memberuser m,person_role p where m.roleid=p.roleid order by m.memberid Asc) A WHERE ROWNUM <=?)WHERE RN >?";List<MemberUserRole> memberList = new ArrayList<MemberUserRole>();ResultSet rs = util.Query(sql,limitPage*pageNow,(pageNow-1)*limitPage);try {while(rs.next()){MemberUserRole mUserRole = new MemberUserRole(rs.getInt("MEMBERID"),rs.getString("memberName"),rs.getInt("age"),rs.getString("gender"),rs.getDate("birthday"),rs.getString("MEMBER_LABEL"),rs.getString("MEMBER_INTRODUCTION"),rs.getString("MEMBER_PICTURE"),rs.getDate("REGISTER_DATE"),rs.getString("roleName"),rs.getString("pwd"),rs.getInt("MEMBER_INTEGRAL"),rs.getString("ACCOUNTNUMBER"),rs.getString("MEMBEREMAIL"));memberList.add(mUserRole);}} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}finally{util.close();}return memberList;}

在Acction中:public class PageAction extends BaseAction {/** * */private static final long serialVersionUID = 1L;/** * 总记录数 */private int totalRecord;/** * 每页显示条数 */private int limitPage=5;/** * 当前页 */private int nowPage=1;/** * 总页数 */private int totalPage;public int getTotalRecord() {return totalRecord;}public void setTotalRecord(int totalRecord) {this.totalRecord = totalRecord;}public int getLimitPage() {return limitPage;}public void setLimitPage(int limitPage) {this.limitPage = limitPage;}public int getNowPage() {return nowPage;}public void setNowPage(int nowPage) {this.nowPage = nowPage;}public int getTotalPage() {return totalPage;}public void setTotalPage(int totalPage) {this.totalPage = totalPage;}MemberUserBiz memberUserBiz = new MemberUserBizImpl();/** * @return * 获取某页用户信息的记录 */public String queryMemberUserInfoByPage(){List<MemberUserRole> memberListByPage = new ArrayList<MemberUserRole>();//获取总记录数totalRecord= memberUserBiz.counterByPage();//获取总页数totalPage =(totalRecord+limitPage-1)/limitPage;//当前页处理if(nowPage<1){nowPage=1;}else if(nowPage>=totalPage){nowPage=totalPage;}//获得某页的记录memberListByPage = memberUserBiz.queryMemberUserInfoByPage(nowPage, limitPage);app.setAttribute("memberListByPage", memberListByPage);int a=0;req.setAttribute("a", a);return "queryMemberUserInfoByPage";}}

在jsp页面:<div id="tableInfo" align="center"><s:form name="userform" method="post"><table border="1" id="userInfoTable"><tr id="bt"><th>序号</th><th>账号</th><th>用户名</th><th>年龄</th><th>性别</th><th>生日</th><th>积分</th><th>角色</th><th>邮箱</th><s:if test="${mUser.roleId==1}"><th>操作</th></s:if></tr><s:iterator value="#application.memberListByPage" status="status"id="userInfo"><tr id="info" bgcolor="${status.index%2 == 0?'#D0D8E8':'#E9EDF4'}"><td>${status.index+1}</td><td><s:property value="#userInfo.accountNumber" /></td><td><s:property value="#userInfo.memberName" /></td><td><s:property value="#userInfo.age" /></td><td><s:property value="#userInfo.gender" /></td><td><s:property value="#userInfo.birthday" /></td><td><s:property value="#userInfo.memberIntegral" /></td><td><s:property value="#userInfo.roleName" /></td><td><s:property value="#userInfo.memberEmail" /></td><s:if test="${mUser.roleId==1}"><td><ahref="member_adminCheckMemberById.action?memberId=${userInfo.memberId}">查看</a>| <ahref="member_deleteMember.action?memberId=${userInfo.memberId}"><span>删除</span></a>| <ahref="member_adminQueryMemberById.action?memberId=${userInfo.memberId}">更新</a></td></s:if></tr></s:iterator></table><!– 分页技术的实现–><div><center>共<s:property value="totalRecord" />条记录共 ${totalPage} 页第<s:property value="nowPage" />页<s:a href="page_queryMemberUserInfoByPage.action?nowPage=${1}">首页</s:a><s:if test="nowPage>1"><s:a href="page_queryMemberUserInfoByPage.action?nowPage=${nowPage-1}">上一页</s:a></s:if><s:if test="nowPage<totalPage"><s:a href="page_queryMemberUserInfoByPage.action?nowPage=${nowPage+1}">下一页</s:a></s:if><s:a href="page_queryMemberUserInfoByPage.action?nowPage=${totalPage}">尾页</s:a></center></div></s:form></div>以上就是比较完整的代码了

,以一种进取的和明智的方式同它们奋斗。

struts2实现最简单的分页技术

相关文章:

你感兴趣的文章:

标签云: