
/**
* 分頁
* @param page
* @param rowsPerPage
* @return
*/
public List findPlantByPage(int page, int rowsPerPage);
public int getPlanTotalPage(int rowsPerPage);
public int getPlanNum();
public int getPlanTotalPage1(int rowsPerPage);
dao實現(xiàn)類中方法執(zhí)行
將 UsersInfo 改成自己的實體類名字
/**
* 分頁方法
*/
/**
* 查找并返回所有計劃
*/
public List findPlantByPage(int page, int rowsPerPage) {
Session session =this.getSession();
Query query = session.createQuery("from UsersInfo order by id asc");
query.setMaxResults(rowsPerPage); // 每頁最多顯示幾條
query.setFirstResult((page - 1) * rowsPerPage); // 每頁從第幾條記錄開始
List list = query.list();
session.close();
return list;
}
/**
* 共多少頁計劃數(shù)據(jù)
*/
public int getPlanTotalPage(int rowsPerPage) {
int rows = 0;
String hql = "select count(*) from UsersInfo";
Session session = this.getSession();
Query query = session.createQuery(hql);
rows = ((Integer) query.iterate().next()).intValue();
session.close();
if (rows % rowsPerPage == 0) {
return rows / rowsPerPage;
} else {
return rows / rowsPerPage + 1;
}
}
public int getPlanNum() {
String hql = "select count(*) from UsersInfo ";
int rows = 0;
Session session =this.getSession();
Query query = session.createQuery(hql);
rows = ((Integer) query.iterate().next()).intValue();
session.close();
return rows;
}
/**
* 條件查詢后返回的計劃總頁數(shù)
*/
public int getPlanTotalPage1(int rowsPerPage) {
int rows = 0;
Session session =this.getSession();
String hql = "select count(*) from UsersInfo";
Query query = session.createQuery(hql);
rows = ((Integer) query.iterate().next()).intValue();
session.close();
if (rows % rowsPerPage == 0) {
return rows / rowsPerPage;
} else {
return rows / rowsPerPage + 1;
}
}
同樣在biz中定義相同的接口? 在biz實現(xiàn)類中調(diào)用dao(同普通業(yè)務(wù)一樣調(diào)用既可以)
action中定義分頁用的變量要有g(shù)et和set方法
/**
* 分頁
*/
private int rowsPerPage = 10;// 每頁顯示幾條
private int page = 1; // 默認當(dāng)前頁
private int totalPage;// 總共多少頁
private int planNum;// 總過多少條
action中分頁用的查詢方法(同樣調(diào)用自己的biz調(diào)用定義的那幾個分頁方法)
public String findUser() throws Exception {
List list=usersInfoBiz.findPlantByPage(page, rowsPerPage);
??? totalPage =usersInfoBiz.getPlanTotalPage(rowsPerPage);
??? System.out.println("totalpage"+totalPage);
planNum =usersInfoBiz.getPlanNum();
System.out.println("planNum"+planNum);
session.put("item", list);
session.put("totalPage", totalPage);
session.put("planNum", planNum);
session.put("page", page);
return SUCCESS;
}
頁面 固定代碼(只改變自己的跳轉(zhuǎn)用的action方法)
<tr>
<td>當(dāng)前第<struts:iterator id="page" value="#session.page"><struts:property value="#page"/></struts:iterator> 頁</td><td>共<struts:iterator id="planNum" value="#session.planNum"><struts:property value="#planNum"/></struts:iterator>條記錄</td><td>共分<struts:iterator id="totalPage" value="#session.totalPage"><struts:property value="#totalPage"/></struts:iterator>頁</td><td></td>
<td><a href="findUser.action?page=1">首 頁</a></td>
<td>
<struts:if test="#page<=1">??
????????? 上一頁?
??? </struts:if>??
??? <struts:else>
??? <struts:iterator id="page1" value="#session.page">?
?????????????? <a href="findUser.action?page=<struts:property value='#page1-1'/>">上一頁</a>
?????????????? </struts:iterator>
??? </struts:else>
???? </td>
???? <td><struts:if test="#page>=#totalPage">??
????????? 下一頁?
??? </struts:if>??
??? <struts:else>??
????????????? <struts:iterator id="page2" value="#session.page">?
?????????????? <a href="findUser.action?page=<struts:property value='#page2+1'/>">下一頁</a>
?????????????? </struts:iterator>
??? </struts:else>
??? </td>
??? <td>
??? <struts:iterator id="totalPage1" value="#session.totalPage">
??? <a href="findUser.action?page=<struts:property value='#totalPage'/>">尾頁</a>
??? </struts:iterator>
??? </td>
</tr>
注:我是用的struts2 寫的ssh框架
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
