复杂的分页查询
来源:互联网 发布:申通快递单打印软件 编辑:程序博客网 时间:2024/04/26 20:59
步骤一:
分页的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;
}
- 复杂的分页查询
- 复杂查询的分页
- 数据库中表的复杂查询&分页
- 复杂查询分页代码
- 复杂查询分页代码
- Spring+Hibernate 复杂查询分页
- Spring+Hibernate 复杂查询分页
- Spring+Hibernate 复杂查询分页
- Spring+Hibernate 复杂查询分页
- mongoose实现分页和复杂查询
- sql 复杂查询 多表查询 分页查询
- 复杂的查询
- 复杂条件的查询
- Subsonic的复杂查询
- 复杂点的查询
- 表的复杂查询
- 更复杂的查询
- SQL复杂的查询
- uvc摄像头代码解析2
- adb pull 时报错device not found
- Java8-本地缓存
- 【Android】任务和返回栈(tasks and back stack)
- php蜘蛛正常抓取,用户跳转指定页面
- 复杂的分页查询
- Codeforces Round #236 (Div. 2) E. Strictly Positive Matrix 强连通
- Build相关属性和调用系统信息的方法
- 状态模式与状态图
- uitableview学习
- js 添加事件 attachEvent 和 addEventListener 的用法
- 修改boot.img
- 探究如何整合 GLib Main Event Loop 和 Node.js 的 libuv
- Windows Phone 8.1 系列文章索引