(原创,转载请注明)
最近在项目中很爱偷懒,于是用Jquery EasyUi处理分页,省去了要处理的分页参数信息。相比ExtJs,EasyUi的体积还是小多了,上手也容易多了;再相比Jquery UI,就不用说了,压根就没有DataGird。
先看效果图

准备工作:
Struts2类库:

Json类库:

Jquery EasyUI:

当然还包括Jquery的js库:

先看后台的类设计图:

看着挺多,其实写起来挺简单,本来可以用泛型把所有业务统一起来,但struts2对泛型有bug(不知道现在的版本解决没),当实例化泛型类时,一半概率会报ClassCastException。而且初学者看着一堆的泛型、抽象类、抽象方法很容易晕,所以用此设计,故不用原来的设计,这样做保证了代码安全稳定,付出的代价是写了不少重复代码。
然后再看代码:
前台页面:
orderlist.jsp:
要包括的ui库:
<link rel="stylesheet" type="text/css" href="<s:url value="/ui/themes/default/easyui.css"/>">
<link rel="stylesheet" type="text/css" href="<s:url value="/ui/themes/icon.css"/>">
<script type="text/javascript" src="<s:url value="/js/jquery-1.4.2.min.js"/>"></script>
<script type="text/javascript" src="<s:url value="/ui/jquery.easyui.min.js"/>"></script>
<script type="text/javascript" src="<s:url value="/ui/easyui-lang-zh_CN.js"/>"></script>
我用的是绝对路径,用的struts2的s:url标签,所以不要忘了引入struts2的标签库
<%@taglib prefix="s" uri="/struts-tags"%>
以上是在页面头包引入的库
真正的代码在下面:
<body>
<table id="dataGrid"></table>
</body>
就这么一点点
当然,还要在一开始做初始化,以下代码直接在head标签内接着上面引入库后写就行。
<script type="text/javascript">
$(function(){
//这个#dataGrid一定要和以上table的id对应
$('#dataGrid').datagrid({
title:'订单查询',
width:910,
height:400,
nowrap: false,
striped: true,
collapsible:false,
url:'<s:url value="/manage/queryOrder.action"/>',
remoteSort: true,
idField:'id',
loadMsg:'装载中...',
columns:[[
{field:'id',title:'订单号',width:50,align:'center'},
{field:'lastName',title:'姓',width:60,align:'center'},
{field:'firstName',title:'名',width:60,align:'center'},
{field:'roomName',title:'房型名称',width:130,align:'center'},
{field:'roomNum',title:'订房数量',width:50,align:'center'},
{field:'orderDate',title:'下单日期',width:110,align:'center'},
{field:'liveDate',title:'住店日期',width:80,align:'center'},
{field:'leaveDate',title:'离店日期',width:80,align:'center'},
{field:'price',title:'总价格',width:100,align:'center'},
{field:'opt',title:'操作',width:95,align:'center',
formatter:function(value,rec){
return "<a href='<%=request.getContextPath()%>/manage/viewOrder.action?orderId=" + rec.id + "'>查看</a> <a href='<%=request.getContextPath()%>/manage/deleteOrder.action?orderId=" + rec.id + "'>删除</a>";
}
}
]],
pagination:true,
rownumbers:false
});
//其实上面就够了,下面纯属为了手动改dataGrid页脚下那些分页参数的label显示
var p = $('#dataGrid').datagrid('getPager');
if (p){
$(p).pagination({
beforePageText:"第",
afterPageText:"共{pages}页",
displayMsg:"共{total}条记录"
});
}
});
</script>
看到代码应该不用解释了吧,很简单,看着字段名就知道怎么设置
再看看后台代码(太长,请接二)

- 大小: 40.9 KB

- 大小: 29.4 KB

- 大小: 8.1 KB

- 大小: 7.3 KB

- 大小: 2.3 KB

- 大小: 85.5 KB
分享到:
相关推荐
Struts2、Ajax、EasyUI、JSON 和...总的来说,"struts2+ajax+easyui+json+datagrid"这个组合为开发高效、交互性强的Web应用提供了一种强大的解决方案,尤其是在处理数据密集型应用时,能够显著提升用户体验和工作效率。
在本文中,我们将探讨如何使用Struts2和jQuery EasyUI框架创建一个简单的CRUD(创建、读取、更新、删除)系统。首先,我们需要理解这两个技术的基础概念。 Struts2是一个基于MVC(Model-View-Controller)架构的...
Struts2、EasyUI、Ajax 和 JSON 是现代Web开发中常用的技术栈,它们结合使用可以构建出高效、交互性强的用户界面。以下是对这些技术及其在用户登录验证中的应用的详细解释。 **Struts2** 是一个基于MVC(Model-View...
标题 "JQuery EasyUI 整合struts2 代码下载" 涉及到的是一个Web开发中的技术组合,主要集中在前端的JQuery EasyUI框架与后端的Struts2框架的集成应用。JQuery EasyUI是一个基于jQuery的UI库,提供了丰富的组件,如...
基于struts,spring,hibernate,oracle环境下jquery easyui环境搭建。实现了使用jquery easyui中的datagrid显示用户列表。测试网址: http://localhost:9090/jquery-easyui-1.2.6BasedonStruts/layout.jsp
2. **jQuery EasyUI 的主题系统**: - jQuery EasyUI 提供了多种预设主题,如 "default"、"gray" 等,可以通过更改 CSS 文件轻松改变整个应用的外观风格。 3. **数据绑定与异步通信**: - 使用 `datagrid` 或 `...
在"struts2-easyui"的例子中,我们看到的是一个基础的快速入门教程,它演示了如何将这两个技术整合在一起,实现数据的增删改查功能。下面将详细解释这个组合的应用场景、工作原理以及相关的知识点。 1. **Struts2...
在本项目中,我们主要探讨如何使用Struts2框架与EasyUI库,通过Maven进行构建和依赖管理,实现一个单元格可编辑的表格——DataGrid。以下将详细阐述涉及的技术点及其应用。 首先,Maven是Apache软件基金会开发的一...
标题中的"jQuery EasyUI + Struts2 + Hibernate 封装的 CRUD Datagrid(内置数据库建表语句)"是一个基于Web开发的技术组合,用于构建数据管理应用。这个项目结合了前端的jQuery EasyUI、后端的Struts2框架以及持久...
1. **整合目标**:本文档的目标是将 Struts2.x、Spring3.x、Hibernate4.x 与 DWR、jquery2.x 和 easyUI1.3.x 进行集成,以构建一个功能齐全且高效的 Web 开发环境。 2. **jQuery 版本选择**:为了兼容性和性能考虑...
- **DataGrid**:jQuery EasyUI 的 DataGrid 是一个强大的表格组件,可以用来展示大量的结构化数据。它可以实现分页、排序、过滤等功能,非常适合用来展示数据库中的数据。 - **Form**:如果需要编辑或新增学生信息...
首先,我们要理解EasyUI的数据网格(DataGrid)是一个用于展示数据的表格组件,它可以加载JSON或XML格式的数据,并提供排序、筛选、分页等功能。在实际应用中,有时我们需要将数据网格中的数据导出到Excel文件,方便...
Struts2.3.1与EasyUI1.2.5的整合是Web开发中的一个常见实践,主要用于构建高效、易用且美观的管理界面。Struts2是一个强大的MVC(Model-View-Controller)框架,它提供了良好的架构支持,帮助开发者实现业务逻辑与...
SSH(Struts1.3、Spring2、Hibernate)是经典的Java后端开发框架组合,用于处理业务逻辑和数据持久化。 描述中提到 "struts1.3+spring2+Hibernate json,easyui datagird 学习easyui 做的一个小例子" 指出这个项目...
这个小程序利用SSH2(Struts2、Spring、Hibernate)框架,结合Maven构建工具,实现了通过jQuery的datagrid插件进行Ajax分页加载数据的功能。以下将详细介绍其中涉及的技术和知识点。 1. **SSH2框架**:SSH2是Java ...
为了实现前后端的交互和数据持久化,文档推荐集成Struts 2、Spring 2.5和Hibernate 3.3这三个框架。这表明应用将采用MVC(Model-View-Controller)架构模式,其中Struts 2作为控制器,Spring负责业务逻辑和依赖注入...
在Web开发领域,Struts2 和 EasyUI 是两个非常重要的框架和技术。Struts2 是一款基于MVC模式的Java Web应用程序框架,它帮助开发者构建灵活、可扩展的应用程序;而EasyUI 则是一款基于jQuery的用户界面库,提供了...
EasyUI的组件通常通过Ajax与后台进行数据交互,这在本项目中将与Struts2紧密结合,用于展示和编辑数据库中的数据。例如,我们可以使用EasyUI的datagrid组件展示一个表格,通过Ajax异步加载和更新数据。 DBUtils是...
标题"jquery-easyui-1.3.3"指的是这个框架的1.3.3版本,这是一款广泛应用于企业级应用开发的前端框架,因其易用性和强大的功能而受到开发者们的喜爱。 EasyUI 的核心在于其组件化的设计,这些组件包括但不限于:...