service 层代码如下
@Override
public void pageQuery(PageBean pageBean,Staff staff) {
StaffExample staffExample = new StaffExample();
Criteria createCriteria = staffExample.createCriteria();
//这个分页查询和多条件查询是结合在一起的
if(staff.getId()!=null && ""!=staff.getId() ){
createCriteria.andIdLike(staff.getId()+"%");
}
if(staff.getName()!=null && ""!=staff.getName()){
createCriteria.andNameLike("%"+staff.getName()+"%");
}
if(staff.getTelephone()!=null && ""!=staff.getTelephone()){
createCriteria.andTelephoneEqualTo(staff.getTelephone());
}
createCriteria.andDeltagEqualTo("0");
//根据前台传来的值设置开始页和页面显示条数,要在查询的时候写这句话,那么数据库才会执行分页查询
Page page = PageHelper.startPage(pageBean.getPage(), pageBean.getPageSize());
List<Staff> staffs = staffMapper.selectByExample(staffExample);
if (!staffs.isEmpty()) {
pageBean.setRows(staffs);
}else{
pageBean.setRows(new ArrayList<Staff>());
}
pageBean.setTotal(page.getTotal());
}
control代码如下
/**
* 分页查询方法
*/
@RequestMapping("/findBypage")
@ResponseBody
public PageBean pageQuery(@RequestParam(required = true, defaultValue = "1") String page,
@RequestParam(value = "rows", required = true, defaultValue = "10") String pagesize, Staff staff,
HttpServletRequest request) {
PageBean pageBean = new PageBean(Integer.parseInt(page), Integer.parseInt(pagesize));
System.out.println(staff.toString());
staffService.pageQuery(pageBean, staff);
return pageBean;
}
前台代码如下
init("${pageContext.request.contextPath}/staff/findBypage");
//初始化界面
function init(initUrl){
// 先将body隐藏,再显示,不会出现页面刷新效果
$("body").css({
visibility : "visible"
});
$('#grid').datagrid({
iconCls : 'icon-forward',
fit : true,
border : false,
rownumbers : true,
striped : true,
pageSize : 10,
pageList : [ 2, 10, 20, 50 ],
pagination : true,
toolbar : '#tb',
url : initUrl,
idField : 'id' ,
// 如果没有数据,就增加提示
onLoadSuccess:function(data){
if (data.total == 0) {
var columnLength = $('#grid').datagrid('getColumnFields').length; // 获取表格列数
var body = $(this).data().datagrid.dc.body2;
body.find('table tbody').append('<tr><td width="'+body.width()+'" style="height: 25px; padding:10px;text-align: left;" colspan='+columnLength+'>没有任何结果数据显示!</td></tr>');
}
}
});
// 添加或者修改的窗口
$('#addWindow').window({
width : 500,
modal : true,
shadow : true,
closed : true,
height : 500,
resizable : false
});
}