`

JQuery EasyUI 的datagrid 整合Struts2的实现二 (分页,排序,查询)

阅读更多

上一篇: 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的。而且无论是查询还是排序结果都可以进行分页。而且可以进行对排序的结果进行查询,也可以对查询的结果进行排序。

 

分享到:
评论
8 楼 sryijun 2014-03-12  
半调子教程
7 楼 Fiona365 2013-05-09  
亲啊,注意代码的大小写……js是严格区分大小写的
6 楼 yujun2 2012-10-12  
action后台怎么使用那些个参数对象,方法要查询的是什么,是一个list封装的数据么,比如通过后天的那些个参数查询出一个student的list对象?我就是想知道后天方法该怎么做?求代码啊,谢谢
5 楼 andylauxing 2011-12-06  
希望楼主做一个主从表(主子表结构)的增删改查的demo供新手学习,thks.
4 楼 sundy00lee 2010-09-10  
这个控件怎么实现服务端数据的插入,更新和删除,麻烦博主介绍下,谢谢
3 楼 283433775 2010-08-12  
通过大家的反映,等抽空,我写个详细的。再发出来。
2 楼 qingtianxl 2010-08-06  
说的太不明白了
1 楼 qingtianxl 2010-08-06  
怎么再后台去排序的类型 和排序的字段

相关推荐

    struts2+ajax+easyui+json+datagrid增删改查

    分页和排序功能同样通过Ajax实现,DataGrid会发送包含当前页码和排序信息的请求给服务器,服务器根据这些信息查询数据库并返回对应页的数据,DataGrid则据此更新显示。 总的来说,"struts2+ajax+easyui+json+...

    使用Struts2和jQuery EasyUI实现简单CRUD系统

    在本文中,我们将探讨如何使用Struts2和jQuery EasyUI框架创建一个简单的CRUD(创建、读取、更新、删除)系统。首先,我们需要理解这两个技术的基础概念。 Struts2是一个基于MVC(Model-View-Controller)架构的...

    基于JQuery的datagrid分页数据实现

    这个小程序利用SSH2(Struts2、Spring、Hibernate)框架,结合Maven构建工具,实现了通过jQuery的datagrid插件进行Ajax分页加载数据的功能。以下将详细介绍其中涉及的技术和知识点。 1. **SSH2框架**:SSH2是Java ...

    struts2结合easyui实现增删改分页排序

    ### Struts2 结合 EasyUI 实现增删改分页排序 #### 一、概述 在Web开发领域,Struts2 和 EasyUI 是两个非常重要的框架和技术。Struts2 是一款基于MVC模式的Java Web应用程序框架,它帮助开发者构建灵活、可扩展的...

    jquery easyui +struts2+hibernate封装的crud datalist(内置数据库建表语句)

    标题中的"jQuery EasyUI + Struts2 + Hibernate 封装的 CRUD Datagrid(内置数据库建表语句)"是一个基于Web开发的技术组合,用于构建数据管理应用。这个项目结合了前端的jQuery EasyUI、后端的Struts2框架以及持久...

    easyui datagird增删改分页例子

    这个项目作为一个学习资源,可以帮助开发者了解如何整合SSH框架与EasyUI DataGrid,实现数据操作和分页功能,对于初学者或者想要提升Web应用开发技能的人来说是非常有价值的。通过这个实例,你可以学习到如何设置...

    jquery-easyui demo

    2. **jQuery EasyUI 的主题系统**: - jQuery EasyUI 提供了多种预设主题,如 "default"、"gray" 等,可以通过更改 CSS 文件轻松改变整个应用的外观风格。 3. **数据绑定与异步通信**: - 使用 `datagrid` 或 `...

    SSh结合Easyui实现Datagrid的分页显示(多个实例)

    【SSh结合Easyui实现Datagrid的分页显示】是一个典型的Web开发应用场景,涉及到Spring、Struts2和Hibernate(SSh)三大框架与EasyUI前端组件的整合。在这个实例中,我们将探讨如何利用这些技术来实现一个具备分页...

    struts2+easyui 基于maven实现单元格可编辑表格datagrid

    在本项目中,我们主要探讨如何使用Struts2框架与EasyUI库,通过Maven进行构建和依赖管理,实现一个单元格可编辑的表格——DataGrid。以下将详细阐述涉及的技术点及其应用。 首先,Maven是Apache软件基金会开发的一...

    struts2-easyui.

    - **数据展示**:EasyUI的DataGrid组件可以用来展示查询结果,支持分页、排序等功能。 - **表单操作**:Form组件与EasyUI的Dialog结合,用于添加、编辑数据,提供了验证和提交功能。 - **按钮事件**:通过...

    DWR+jquery2.x+easyUI1.3.x开发富客户端应用

    1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...

    jQueryeasyui的基础应用_java_java编程_

    它可以实现分页、排序、过滤等功能,非常适合用来展示数据库中的数据。 - **Form**:如果需要编辑或新增学生信息,可以使用 Form 组件,它提供了输入框、下拉框等多种表单元素,方便用户输入数据。 - **Dialog**:...

    jquery-easyui-1.3.3

    在实际应用中,jQuery EasyUI 可以与后端框架如Spring、Struts等无缝集成,实现前后端分离的开发模式。通过Ajax技术,EasyUI 可以实时地从服务器获取数据,更新用户界面,实现动态交互。例如,数据网格组件...

    ssh结合DataGrid 实现分页

    4. **DataGrid介绍**:DataGrid通常是一个JavaScript组件,例如jQuery UI的DataGrid或EasyUI的DataGrid。它在前端页面上展示数据,并支持分页、排序和过滤等功能。DataGrid通过Ajax从服务器获取数据,通常采用JSON或...

    Struts2.3.1与EasyUI1.2.5的整合

    - 考虑到性能和用户体验,合理使用EasyUI的分页、排序和过滤功能。 - 为Action添加错误处理逻辑,处理可能出现的异常情况。 - 在实际项目中,可能还需要结合Spring等其他框架进行更深入的整合,以实现更复杂的业务...

    基于easyui的通用导出

    首先,我们要理解EasyUI的数据网格(DataGrid)是一个用于展示数据的表格组件,它可以加载JSON或XML格式的数据,并提供排序、筛选、分页等功能。在实际应用中,有时我们需要将数据网格中的数据导出到Excel文件,方便...

    spring struts2 ibatis easyui

    在本项目中,EasyUI的datagrid用于展示数据,实现了数据的分页、排序、过滤等功能,同时支持增删改查操作。 **整合应用** 这个项目将上述四个技术集成在一起,构建了一个完整的Web应用。Struts2作为控制器,处理...

    easyui 实例

    SSH(Struts2 + Spring + Hibernate)框架则是一个常见的Java Web开发组合,用于实现MVC(Model-View-Controller)设计模式。在"easyui 实例"这个主题下,我们可以深入探讨这两个技术的结合及其应用。 标题"easyui ...

Global site tag (gtag.js) - Google Analytics