上一篇: JQuery EasyUI 的datagrid 整合Struts2的实现一 (基本实现)
上一篇中,时间有限,只是介绍一下基础实现。我想,大部分人会觉得那很简单。对于这样一个应用中,个人觉得一个难点,也是由于官方API中并未说明确的一点,是如何建立查询和排序。
这里从 分页,查询,排序进行简单的介绍下:
1.分页。
JQuery EasyUI 的datagrid 中,从API中看,从服务端可以获取两个基本参数:page和rows。page:是当前页码。rows:是每页大小,相当于pageSize。因此通过struts2实现分页不难,直接再action中定义两个参数:
private int page;
private int rows ;
这样就可以获取当前页和每页总数。从而实现分页功能。
2.查询和排序。
起初我用easyUI做项目时,最搞不懂得是,如何进行排序和插叙。莫非要更改easyui源码?还是在url上面添加参数?,或者通过更改URL的方式进行更新数据?,我想了很多很多。可是终究都没有去做。
说来也好玩,我得益于一次午觉,在午觉中,我在梦中突然想起怎么去实现这个功能。等我醒来时,趁着还有点记忆就可以做了,结果成功了。这点我自己都很惊异。
API中提供了一个参数 queryParams:{},我的想法是扩展这个参数对象。我现在需要排序和查询,因此我将这个对象默认为{"sortName":"","sortOrder":"","queryWord":"","queryType":""}
sortName:排序字段,
sortOrder:排序方式:asc|desc
queryWord:查询关键字
queryType:查询字段。
这个queryParams在表个刷新时会自动附带传到服务端。因此服务端需要接收。
在action中定义几个接受参数
private String sortName;
private String sortOrder;
private String queryWord;
private String queryType;
以上是需要注意的,我一开始还以为用queryParams来获取参数呢,结果证明不是那样的。
下面介绍js中实现查询的方式:
首先,定义一个插叙窗口,会有两个传入参数:queryWord,queryType
function query(queryWord,queryType){
var queryParams = $('#test').datagrid('options').queryParams;
//更改queryParams对象中两属性。
queryParams.queryWord = queryWord;
queryParams.queryType = queryType;
$('#test').datagrid('reload');
}
这样做,你会发现,查询的同时也包含了分页。即,不用你再去考虑分页的问题。
排序:这里的datagrid排序对针对服务端传入数据进行排序的,是整个的排序,而不是已经取出数据的排序。
我需要写个排序函数
function sort(sortName,sortOrder){
var queryParams = $('#test').datagrid('options').queryParams;
queryparams.sortName = sortName;
queryaParams.sortOrder = sortOrder;
$("#test").datagrid('reload');
}
方法有了,可是怎么调用呢。需要再查API文档,发现一个EVENT:onSortColumn(sort,order)
这里把这个事件加入到datagrid的初始化中
onsortColumn:function(sort,order){
sort(sort,order);//调用排序方法。
}
这样基本上就ok了。
action中只需要在DAO层将提取数据的方法多加排序和查询的参数,就可以了。
优点:这里通过简单的操作,使得查询和排序都是在同一页面中,调用同一action的。而且无论是查询还是排序结果都可以进行分页。而且可以进行对排序的结果进行查询,也可以对查询的结果进行排序。
分享到:
相关推荐
分页和排序功能同样通过Ajax实现,DataGrid会发送包含当前页码和排序信息的请求给服务器,服务器根据这些信息查询数据库并返回对应页的数据,DataGrid则据此更新显示。 总的来说,"struts2+ajax+easyui+json+...
在本文中,我们将探讨如何使用Struts2和jQuery EasyUI框架创建一个简单的CRUD(创建、读取、更新、删除)系统。首先,我们需要理解这两个技术的基础概念。 Struts2是一个基于MVC(Model-View-Controller)架构的...
这个小程序利用SSH2(Struts2、Spring、Hibernate)框架,结合Maven构建工具,实现了通过jQuery的datagrid插件进行Ajax分页加载数据的功能。以下将详细介绍其中涉及的技术和知识点。 1. **SSH2框架**:SSH2是Java ...
### Struts2 结合 EasyUI 实现增删改分页排序 #### 一、概述 在Web开发领域,Struts2 和 EasyUI 是两个非常重要的框架和技术。Struts2 是一款基于MVC模式的Java Web应用程序框架,它帮助开发者构建灵活、可扩展的...
标题中的"jQuery EasyUI + Struts2 + Hibernate 封装的 CRUD Datagrid(内置数据库建表语句)"是一个基于Web开发的技术组合,用于构建数据管理应用。这个项目结合了前端的jQuery EasyUI、后端的Struts2框架以及持久...
这个项目作为一个学习资源,可以帮助开发者了解如何整合SSH框架与EasyUI DataGrid,实现数据操作和分页功能,对于初学者或者想要提升Web应用开发技能的人来说是非常有价值的。通过这个实例,你可以学习到如何设置...
2. **jQuery EasyUI 的主题系统**: - jQuery EasyUI 提供了多种预设主题,如 "default"、"gray" 等,可以通过更改 CSS 文件轻松改变整个应用的外观风格。 3. **数据绑定与异步通信**: - 使用 `datagrid` 或 `...
【SSh结合Easyui实现Datagrid的分页显示】是一个典型的Web开发应用场景,涉及到Spring、Struts2和Hibernate(SSh)三大框架与EasyUI前端组件的整合。在这个实例中,我们将探讨如何利用这些技术来实现一个具备分页...
在本项目中,我们主要探讨如何使用Struts2框架与EasyUI库,通过Maven进行构建和依赖管理,实现一个单元格可编辑的表格——DataGrid。以下将详细阐述涉及的技术点及其应用。 首先,Maven是Apache软件基金会开发的一...
- **数据展示**:EasyUI的DataGrid组件可以用来展示查询结果,支持分页、排序等功能。 - **表单操作**:Form组件与EasyUI的Dialog结合,用于添加、编辑数据,提供了验证和提交功能。 - **按钮事件**:通过...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
它可以实现分页、排序、过滤等功能,非常适合用来展示数据库中的数据。 - **Form**:如果需要编辑或新增学生信息,可以使用 Form 组件,它提供了输入框、下拉框等多种表单元素,方便用户输入数据。 - **Dialog**:...
在实际应用中,jQuery EasyUI 可以与后端框架如Spring、Struts等无缝集成,实现前后端分离的开发模式。通过Ajax技术,EasyUI 可以实时地从服务器获取数据,更新用户界面,实现动态交互。例如,数据网格组件...
4. **DataGrid介绍**:DataGrid通常是一个JavaScript组件,例如jQuery UI的DataGrid或EasyUI的DataGrid。它在前端页面上展示数据,并支持分页、排序和过滤等功能。DataGrid通过Ajax从服务器获取数据,通常采用JSON或...
- 考虑到性能和用户体验,合理使用EasyUI的分页、排序和过滤功能。 - 为Action添加错误处理逻辑,处理可能出现的异常情况。 - 在实际项目中,可能还需要结合Spring等其他框架进行更深入的整合,以实现更复杂的业务...
首先,我们要理解EasyUI的数据网格(DataGrid)是一个用于展示数据的表格组件,它可以加载JSON或XML格式的数据,并提供排序、筛选、分页等功能。在实际应用中,有时我们需要将数据网格中的数据导出到Excel文件,方便...
在本项目中,EasyUI的datagrid用于展示数据,实现了数据的分页、排序、过滤等功能,同时支持增删改查操作。 **整合应用** 这个项目将上述四个技术集成在一起,构建了一个完整的Web应用。Struts2作为控制器,处理...
SSH(Struts2 + Spring + Hibernate)框架则是一个常见的Java Web开发组合,用于实现MVC(Model-View-Controller)设计模式。在"easyui 实例"这个主题下,我们可以深入探讨这两个技术的结合及其应用。 标题"easyui ...