java easyui分頁源碼_SpringMVC+easyUI中datagrid分頁實現_2014.5.1

 2023-11-18 阅读 23 评论 0

摘要:一.概述SpringMVC:1.是面對方法級變量的,在操作起來會比struts方便一些(structs是類級變量),具體體現在了srpingMVC的注解上面,如@RequstMapping("/login"),而且對于返回值ModelAndView這也是一大亮點,既可以返回一個頁

一.概述

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上面,顯得有些頭重腳輕,不便于日后程序的更改。

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/178023.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息