一.概述

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数据对象。

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数据格式

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结果集。

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

userManager

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

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上面,显得有些头重脚轻,不便于日后程序的更改。

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

  1. java入侵检测源码_Java Web中的入侵检测及简单实现

    作者:EasyJF开源团队 大峡 一.简介 在Java Web应用程中,特别是网站开发中,我们有时候需要为应用程序增加一个入侵检测程序来防止恶意刷新的功能,防止非法用户不断的往Web应用中重复发送数据 ...

  2. php ajax无刷新分页源码,ajax实现无刷新分页(php)

    投票结果 function GetXmlHttpObject() { var xmlHttp=null; try { // Firefox, Opera 8.0+, Safari xmlHttp=ne ...

  3. Java 8 ConcurrentHashMap源码中竟然隐藏着两个BUG

    Java 7的ConcurrenHashMap的源码我建议大家都看看,那个版本的源码就是Java多线程编程的教科书.在Java 7的源码中,作者对悲观锁的使用非常谨慎,大多都转换为自旋锁加volati ...

  4. Java开源商城源码推荐,从菜鸡到大神,永远绕不开的商城系统

    每个Java程序员,从懵逼菜鸡,再到懵懂菜鸟,再到小鸟,大鸟,最后到技术大神,始终绕不开商城系统,里面蕴含了大量的业务,涉及到了大量的知识点和解决方案. 今天介绍一款Java开源商城源码 xmall- ...

  5. java.util.ServiceLoader源码分析

    java.util.ServiceLoader源码分析 回顾: ServiceLoader类的使用(具体参考博客http://blog.csdn.net/liangyihuai/article/det ...

  6. Java Review - PriorityQueue源码解读

    文章目录 Pre PriorityQueue 概述 PriorityQueue 继承关系 PriorityQueue通过用数组表示的小顶堆实现 时间复杂度 构造函数 方法 add()和offer() ...

  7. Java Review - LinkedList源码解读

    文章目录 Pre 概述 底层数据结构-双向链表 源码解析 构造函数 方法源码分析 getFirst() getLast() remove相关方法 remove(e) remove(index) rem ...

  8. 深入java并发包源码(三)AQS独占方法源码分析

    深入java并发包源码(一)简介 深入java并发包源码(二)AQS的介绍与使用 深入java并发包源码(三)AQS独占方法源码分析 AQS 的实现原理 学完用 AQS 自定义一个锁以后,我们可以来看 ...

  9. java自己实现linkedlist_自己根据java的LinkedList源码编写的一个简单的LinkedList实现...

    自己实现了一个简单的LinkedList /** * Create by andy on 2018-07-03 11:44 * 根据 {@link java.util.LinkedList}源码 写了 ...

最新文章

  1. 51单片机教程哪个好?
  2. Dubbo将积极适配Spring Cloud生态,Spring Cloud体系或将成为微服务的不二选择!
  3. 北航计算机学院毕业生2019,北航2019届本科生毕业典礼暨学位授予仪式举行
  4. JIRA7.10迁移
  5. 折半查找的思想及源码_结构与算法(04):排序规则与查找算法
  6. php 数据访问练习:投票页面
  7. [线性代数]Note4--A的LU分解转置-置换-向量空间
  8. 动态规划之最长公共子序列
  9. “我恨Google无人车”
  10. mysql数据库重新命名
  11. python读取lmdb文件_使用python制作LMDB数据库
  12. CCPC-Wannafly Winter Camp Day1 (Div2, onsite) A 机器人 分类讨论
  13. CSS消除absolute 的影响
  14. 每日一词——@FUnctionalInterface
  15. P2900 [USACO08MAR]土地征用Land Acquisition(斜率优化)
  16. 项目管理/互联网/软件全套文档、产品文档、技术文档、测试文档、运维文档、项目文档
  17. Java线程状态总结
  18. 2022-2028全球与中国嵌入式计算机市场现状及未来发展趋势
  19. 打开eclipse 运行发现tomcat出问题。如路径找不到 (1)eclipse 运行出现:The archive:C:/tomcat/bin/bootstrap.jar which is refe
  20. iphone6s计算机驱动,教你iphone6s连接电脑出现驱动问题怎么办及iOS9.0.2 App Store打不开问题的解决方法...

热门文章

  1. 均匀分布(uniform distribution)期望的最大似然估计(maximum likelihood estimation)
  2. 强化学习 —— 资源清单
  3. /usr/bin/ld: cannot find -l*
  4. gcc/g++ 参数总结
  5. Navicat for Mysql 的使用
  6. sklearn 特征选择与特征抽取 —— feature_selection、feature_extraction
  7. [面试] C++ STL(一)—— 向一个vector中添加N个元素,平均的添加的性能是?
  8. C++::My Effective C++
  9. java random产生随机数_Random随机数
  10. 简单python脚本实例-Python简单实现阴阳师挂机脚本