struts2 + hibernate 分页显示

action 类方法
public String view() {
simple = new SimpleCRUDImpl();
PageNavigateCalculator pnc = new PageNavigateCalculator();
pnc.setTotalRowsAmount(simple.doCountTransaction());
System.out.println(pnc.getTotalRowsAmount());
pnc.setCurrentPage(page);
totalpage = pnc.getTotalPages();
pre = pnc.HasPrevious();
next = pnc.HasNext();
nan = simple.doSelectAllStatus((page - 1) * pnc.getPageSize(), pnc.getPageSize());
return SUCCESS;
}

分页控制方法
public class PageNavigateCalculator {
public int getPageSize() {
return pageSize != 0 ? pageSize : 2;
}

public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}

public PageNavigateCalculator() {
currentPage = 1;
}

public int getCurrentPage() {
if (getTotalPages() > 0)
return currentPage;
else
return 0;
}

public boolean HasNext() {
boolean b;
if (getCurrentPage() * getPageSize() < getTotalRowsAmount())
b = true;
else
b = false;
return b;
}

public boolean HasPrevious() {
boolean b;
if (getCurrentPage() - 1 > 0)
b = true;
else
b = false;
return b;
}

public int getTotalRowsAmount() {
return totalRowsAmount;
}

public void setCurrentPage(int i) {
currentPage = i;
}

public void setTotalRowsAmount(int i) {
totalRowsAmount = i;
}

public int getTotalPages() {
return (getTotalRowsAmount() - 1) / getPageSize() + 1;
}

public int getNextPage() {
int i;
if (HasNext())
i = getCurrentPage() * getPageSize();
else
i = 0;
return i;
}

public int getPreviousPage() {
int i;
if (HasPrevious())
i = (getCurrentPage() - 2) * getPageSize();
else
i = 0;
return i;
}

public int getCurrentPageRows() {
return (getCurrentPage() - 1) * getPageSize();
}

private int totalRowsAmount;

private int currentPage;
private int pageSize;
}
jsp页面分页控制主要代码
<table>
<tr>
<th>
Id
</th>
<th>
Log
</th>
<th>
Statu
</th>
</tr>
<s:iterator value="nan">
<tr>
<td>
<s:property value="id" />
</td>
<td>
<s:property value="log" />
</td>
<td>
<s:property value="statu" />
</td>
</tr>
</s:iterator>
</table>
[color=red]<s:url id="url_pre" value="viewlog.action">
<s:param name="page" value="page-1"></s:param>
</s:url>
<s:url id="url_next" value="viewlog.action">
<s:param name="page" value="page+1"></s:param>
</s:url>
<s:if test="pre">
<s:a href="%{url_pre}">pre</s:a>
</s:if>
<s:else>
pre
</s:else>
<s:property value="page" />
<s:if test="next">
<s:a href="%{url_next}">next</s:a>
</s:if>
<s:else>
next
</s:else>
totalpage:
<s:property value="totalpage" />[/color]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值