JQuery EasyUI 的datagrid 整合Struts2的实现一 (基本实现)
来源:互联网 发布:ifconfig 查看mac 编辑:程序博客网 时间:2024/06/05 03:01
ExtJS一个很好的,一个非常好的UI工具,但太庞大,太复杂了。对于一些简单的应用也没有必要使用。
最近在网上转着,发现了一款还不错的UI插件-----JQuery EasyUI。对于个人来说,对JQuery还比较熟悉,既然是基于JQuery的,也不妨试试。
JQuery EasyUI其实挺强大的,一些比较常用的比如 windows,tab,datagrid,pagination ,layout,menu,tree等都有,这已经可以构造一些比较实用的东东了。另一方面我发觉比较好的是,它的数据类型基于json数据格式。这就更另我喜悦,我个人比较喜欢这种格式。
另一方面,官方上提供的是etMVC框架,让人摸不着。这里将用struts2来实现一下。
废话不多说,先说说需要准备的东西吧:
第一步:准备阶段。
1.JQuery EasyUI 1.1.1
2.Jquery 1.4
struts2 jar包
1.****json-lib-2.2.3-jdk15.jar
2.ezmorph-1.0.6.jar
3.commons-httpclient.jar
4.commons-beanutils-1.8.0.jar
****struts2-json-plugin-2.1.8.jar
这里重中之重的是,json-lib 和 struts2-json-plugin,
这些jar包可以在struts 2.1.8 lib中找到。
~1.json-lib 是转换对象与json对象的一些操作,其中包含转换为JSONObject、JSONArray、json字符串等。
~2.struts2-json-plugn 我想很多童鞋们以前用的ajax,是直接由out对象输出json字符串吧。这样做,一则需要Servlet API,二则容易出现乱码错误,三则像datagrid中直接需要json对象,你给个字符串是不能解析的。利用这个包,可以使得action传值的时候以json字符串、JSONObject、JSONArray等多种格式传递,很方便。
第二步:编写代码
test.html
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" >
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
- <title>test</title>
- <meta http-equiv="keywords" content="keyword1,keyword2,keyword3" >
- <meta http-equiv="description" content="this is my page" >
- <meta http-equiv="content-type" content="text/html; charset=UTF-8" >
- <link rel="stylesheet" type="text/css" href="../js/themes/default/easyui.css" >
- <link rel="stylesheet" type="text/css" href="../js/themes/icon.css" >
- <script type="text/javascript" src="../js/jquery-1.4.2.min.js" ></script>
- <script type="text/javascript" src="../js/jquery.easyui.min.js" ></script>
- <script type="text/javascript" src="test.js" ></script>
- </head>
- <body>
- <table id="test" ></table>
- </body>
- </html>
2.test.js
- $(function(){
- $('#test' ).datagrid({
- title:'My Title' ,//表格标题
- iconCls:'icon-save' ,// 表格图标
- nowrap: false ,//是否只显示一行,即文本过多是否省略部分。
- striped: true ,
- url:'funcAction_getFunc.action' , //action地址
- sortName: 'parentID' ,
- sortOrder: 'desc' ,
- idField:'nodeID' ,
- frozenColumns:[[
- ]],
- columns:[[
- {field:'nodeIcon' ,title:'图标' ,width:150 },
- {field:'parentID' ,title:'父节点编号' ,width:120 },
- {field:'nodeID' ,title:' 节点编号' ,width:120 ,sortable:true },
- {field:'isLeaf' ,title:' 节点类型' ,width:120 },
- {field:'nodeText' ,title:'节点名称' ,width:120 },
- {field:'nodeAction' ,title:'连接程序' ,width:120 },
- ]],
- pagination:true , //包含分页
- rownumbers:true ,
- singleSelect:true ,
- toolbar:[{
- text:'Add' ,
- iconCls:'icon-add' ,
- handler:function(){
- alert('add' )
- }
- },{
- text:'Cut' ,
- iconCls:'icon-cut' ,
- handler:function(){
- alert('cut' )
- }
- },'-' ,{
- text:'Save' ,
- iconCls:'icon-save' ,
- handler:function(){
- alert('save' )
- }
- }]
- });
- });
这样,在action中返回一个JSONObject,输出格式为:
- {"rows" :[{"isLeaf" :0 ,"nodeAction" :"" ,"nodeID" :1 ,"nodeIcon" :"icon-sys" ,"nodeText" :"系统管理" ,"parenetID" :0 },{"isLeaf" :1 ,"nodeAction" :"sys/entryM.html" ,"nodeID" :2 ,"nodeIcon" :"icon-nav" ,"nodeText" :"栏目管理" ,"parenetID" :1 }],"total" :2 }
所以在处理中需要这样来写
- //Service中代码
- public JSONObject getFuncList(){
- FunctionVo func = FactoryDAO.getFuncList(); //FuncitonVo 对应功能的各个属性的封装。可以根据json格式确定需要哪些属性。
- JSONObject resultObj = JSONObject.fromObject(func);
- }
- //action 中
- public class FuncAction extends ActionSupport{
- private JSONObject resultObj = null ;
- //省去getter setter方法。
- public String execute(){
- }
- public String getFunc(){
- this .setResultObj(FactoryService.getFuncInstance().getFuncList());
- return SUCCESS;
- }
- }
最重要的还有一个struts.xml配置
- <package name='json' extends ="json-default" >
- ...
- <action name="funcAction_*" class ="com.FuncAction" method="{1 }>
- <result name="root" >resutObj</result>
- </action>
- ...
- </package >
注意:
1.extends 是json-default,表示返回json对象格式。
2.result 中name 总是等于root,
3.result包含的那个是设置的那个,action中设置了resultObj,因此这里写resultObj
这样简单的数据表格就出来了。
仅此为学习,有问题请留言。
- JQuery EasyUI 的datagrid 整合Struts2的实现一 (基本实现)
- JQuery EasyUI 的datagrid 整合Struts2的查询功能实现
- struts2 easyui实现datagrid的crud
- easyui的datagrid整合struts2,以及Ajax,实现局部刷新功能,并设置分页的实现---------投票案例
- Struts2绑定Jquery EasyUI的Datagrid分页
- Struts2绑定Jquery EasyUI的Datagrid分页
- easyui datagrid 的 tip实现
- easyUI的datagrid实现分页
- easyui datagrid 的简单实现
- jQuery-easyUI的使用:datagrid实现可编辑表格
- jQuery EasyUI datagrid实现本地分页的方法
- Jquery easyui 实现datagrid的单元格点击跳出弹出框
- jquery easyui datagrid 分页实现
- jquery easyui datagrid 分页实现
- 使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互
- 使用Struts2和jQuery EasyUI实现简单CRUD系统(一)——从零开始,ajax与Servlet的交互
- 使用JQuery EasyUI 中的DataGrid控件实现数据的分页(紧密结合上一篇博客)
- DataGrid的使用:(一)、在DataGrid控件中实现基本的操作(编辑、删除、分页)
- 匈牙利命名法
- 实现Ext.TabPane中tab内容的更新
- 第1章 Struts 2概述 1.1 MVC思想概述
- 编程爱好者
- 使用Crosstool 0.43 在ubuntu上制作arm交叉编译器arm-linux-gcc
- JQuery EasyUI 的datagrid 整合Struts2的实现一 (基本实现)
- 字符与编码
- 在Hibernate中处理批量更新和批量删除
- 谈搜索架构师的不同阶段
- 实战DeviceIoControl系列 之一:通过API访问设备驱动程序
- Asp.Net怎样动态获取网页标题
- WSAStartup
- 纪念开博
- C++字符串对象(string)