java easyui分页源码_SpringMVC+easyUI中datagrid分页实现_2014.5.1

一.概述

SpringMVC:

1.是面对方法级变量的,在操作起来会比struts方便一些(structs是类级变量),具体体现在了srpingMVC的注解上面,

如@RequstMapping("/login"),而且对于返回值ModelAndView这也是一大亮点,既可以返回一个页面(View),再加上@ResponseBody注解以后就可以返回一个      模型对象(也就是一种数据结构)。

2.对于方法级传入的参数操作起来也相当方便,比如本例中,在加载DataGrid时,会像后台传递一个  page=1&rows=10 这样的数据,分别表示,第1页和10行数据。

此时,只要在Controller对应的方法上添加两个参数(int page , int rows)就可以拿到这两个数据。

二.具体实现

1.UserController.java,定义了一个DataGrid的工具类,主要将需要回传的数据格式打包,其中total表示一共的数据,后面的为json数据对象。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 {"total":13,"rows":[{"id":1,"userName":"zhangsan","age":"22"},{"id":2,"userName":"123","age":"321"},{"id":3,"userName":"3123","age":"4444"},{"id":4,"userName":"432","age":"444"},{"id":5,"userName":"1234","age":"123412"},{"id":6,"userName":"1234","age":"4324"},{"id":7,"userName":"1234","age":"4324"},{"id":8,"userName":"1234","age":"4324"},{"id":9,"userName":"1234","age":"4324"},{"id":10,"userName":"1234","age":"4324"}]}

DataGrid数据格式

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 @RequestMapping("/getUsers")2 @ResponseBody3 public DataGrid getUsers(int page,introws){4 DataGrid dg = newDataGrid();5 List list =userManager.find(page, rows);6 Long total =userManager.getCountUsers();7 dg.setTotal(total);8 dg.setRows(list);9 returndg;10 }

UserController

2.UserManager主要就是通过UserDao传入的page和rows 的find方法来获取User的List结果集。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public List find(int page, introws) {2 returnuserDao.find(page, rows);3 }

userManager

3.UserDao通过hql语句,对于后面的return的方法。我也是抄过来的,具体什么意思也没看。。。反正返回的结果是对的。。。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

1 public List find(int page, introws) {2 String hql = "from User";3 Query query = this.sessionFactory.getCurrentSession().createQuery(hql);4 return query.setFirstResult((page - 1)*rows).setMaxResults(rows).list();5 }

UserDao

4.前段js,显示dataGrid数据,这里没有什么好说的,注意pageSize要和PageList相互配置才行。

$(function(){

$('#datagrid').datagrid({

url:'user/getUsers',

rownumbers:true,

singleSelect:true,

pagination:true,

idField:'id',

fitColumns:true,

fit:true,

nowarp:false,

border:false,

pageSize:5,

pageList:[5,10],

columns:[[

{field:'id',title:'id',width:100,align:'right'},

{field:'userName',title:'姓名',width:100,align:'right'},

{field:'age',title:'年龄',width:100,align:'right'}

]]

});

});

这样,大功告成,成功显示分页数据。

三.总结

对于MVC的三层结构的意义似乎很了解了,但是在实际的运用上,还做不到炉火纯青,主要体现在Controller层次和Service的层次上,而我的Service层上几乎没有什么操作,只是返回一个Dao层的一个结果,而大量的(我也不清楚Controller上的代码是否为业务逻辑)业务逻辑都写在了Controller上面,显得有些头重脚轻,不便于日后程序的更改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值