前台代码:HTML代码
<div region="center" border="false">
<table id="grid"></table>
</div>
js代码:
$('#grid')
.datagrid(
{
iconCls : 'icon-forward',
fit : true,//沾满父容器空间
border : false,//边界不显示
rownumbers : true,//行号
striped : true,//条纹背景
pageList : [ 10, 20, 30 ],//分页,选择每页多少条 列表 、默认(10、20、50)
pagination : true,//显示分页工具条
toolbar : toolbar,//表格上方按钮
url : "${pageContext.request.contextPath}/standard_pageQuery.action",//加载数据 地址
idField : 'id',//那个属性石唯一的标识
columns : columns,//列表信息(表头)
onDblClickRow : doDblClickRow
//双击事件
})
后台代码java实现:
action:
public String pageQuery(){
//根据请求参数封装 PageRequestBean
PageRequestBean pageRequestBean=new PageRequestBean();
pageRequestBean.setPage(page);
pageRequestBean.setRows(rows);
//隐含条件 deltag=“0”
DetachedCriteria detachedCriteria=DetachedCriteria.forClass(Standard.class);//from Standard
detachedCriteria.add(Restrictions.eq("deltag", "0"));
pageRequestBean.setDetachedCriteria(detachedCriteria);
//调用业务层,查询PageResponseBean
PageResponseBean pageResponseBean=standardService.pageQuery(pageRequestBean);
ActionContext.getContext().put("result", pageResponseBean);
return "pageQuerySUCCESS";
}
service :
public PageResponseBean pageQuery(PageRequestBean pageRequestBean) {
// 分页查询结果
PageResponseBean pageResponseBean = new PageResponseBean();
// 查询total---select count(*)
long total = standardDAO.findTotalCount(pageRequestBean
.getDetachedCriteria());
pageResponseBean.setTotal(total);
// 问题:因为一个Criteria,经过投影后,select* ---select count(*)
pageRequestBean.getDetachedCriteria().setProjection(null);// 清除投影
// 查询rows---select * from 。。。limit?,?
int firstResult = (pageRequestBean.getPage() - 1)
* pageRequestBean.getRows();// 0 代表第一条,10 代表第十一条
int maxResults = pageRequestBean.getRows();// 每页多少条,长度就是多少
List<Standard> list = standardDAO.pageQuery(
pageRequestBean.getDetachedCriteria(), firstResult, maxResults);
pageResponseBean.setRows(list);
return pageResponseBean;
}
dao(通用dao):
struts.xml
<action name="standard_*" class="standardAction" method="{1}">
<result name="pageQuerySUCCESS" type="json">
<!-- 通过root参数,指定值栈中那个对象返回 -->
<param name="root">result</param>
</result>
<action>
代码只是部分自己记录!