步骤一:
分页的html
共
<span id="totalReasord"> <s:property value="mes.totalReasord" /></span>条记录
每页
<input id="perSize" type="text" name="mes.perSize"
value="<s:property value= "mes.perSize"/>" />条 第
<span id="currentPage"><s:property value="mes.currentPage" /></span>页 /共
<span id="totalPage"><s:property value="mes.totalPage" /></span>页
<input type="text" style="display: none;" name="mes.totalPage"
value="<s:property value="mes.totalPage" />" />
<a href="javascript:aSubmit('-2')">首页</a>
<a href="javascript:aSubmit('-1')">上一页</a>
<a href="javascript:aSubmit('1')">下一页</a>
<a href="javascript:aSubmit('2')">最后页</a> 转到第
<input type="text" id="pageIndex" name="mes.pageIndex"
value="<s:property value= "mes.pageIndex"/>" />页
<input type="submit" value="Go" />
<input style="display: none;" type="text" id="subId" name="mes.subId"
value="0" />
步骤二:
创建一个模版类
public class MesTemplate {
private int totalReasord; //总记录数
private int perSize; //每页多少条
private int currentPage; //当前是第几条
private int totalPage;
private int pageIndex;
private int subId;
private List<CstLost> cstLosts=new ArrayList<CstLost>(); //显示的信息数据
//get set访问起省。。
步骤三:
写js 主要是控制操作是否合法, 如
1:转到第几页提交前检查是否比总页数小?
2:点击上一页,下一页,首页,末页时页数是否符合要求可以 去查,有数据?否则就不去查,只给友好的提示
function aSubmit(num){
var currentPage=$("#currentPage").text();
var totalPage=$("#totalPage").text();
if(totalPage<=1){
alert("错误提示:只有一页");
return;
}
if(currentPage==totalPage){
if(num=="1"||num=="2"){ alert("错误提示:已经是最后一页了"); return ;}
}else if(currentPage=="1"){
if(num=="-1"||num=="-2"){alert("错误提示:已经是首页了"); return;}
}
$("#subId").val(num);
document.forms[1].action= "getAllLostByPage";
document.forms[1].submit();
}
function sub(){
var totalReasord=$("#totalReasord").text();
var perSize=$("#perSize").val();
var re=totalReasord%perSize==0?totalReasord/perSize:totalReasord/perSize+1;
var pageIndex=$("#pageIndex").val();
if(perSize<=0){alert("错误提示:每页的数量不能小于1");return false;}
if(pageIndex<1||pageIndex>re){
alert("错误提示:该信息不存在");
return false;}
document.forms[1].submit();
}
运行结果1:
运行结果2:
步骤四:
分页的方法 public MesTemplate getLostsInfo(MesTemplate mes){
if (mes == null){
mes = new MesTemplate(); // 初次加载
mes.setPageIndex(1);
mes.setPerSize(2);
}
Criteria criteria = getSession().createCriteria(CstLost.class);
switch (mes.getSubId()) {
case -2: //点击首页
mes.setPageIndex(1);
break;
case -1: //点击的是上一页
mes.setPageIndex(mes.getPageIndex() - 1);
break;
case 1: //点击是下一页
mes.setPageIndex(mes.getPageIndex() + 1);
break;
case 2: //点击的是末页
mes.setPageIndex(mes.getTotalPage());
break;
}
mes.setCurrentPage(mes.getPageIndex());
int totalResord = criteria.list().size();
int totalSize = totalResord % mes.getPerSize() == 0 ? totalResord
/ mes.getPerSize() : totalResord / mes.getPerSize() + 1;
mes.setTotalReasord(totalResord);
mes.setTotalPage(totalSize);
criteria.setFirstResult((mes.getPageIndex() - 1) * mes.getPerSize());
criteria.setMaxResults(mes.getPerSize());
mes.setCstLosts(criteria.list());
return mes;
}