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

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