struts2+jquery+easyui+datagrid+j…
一、概述
struts2提供了针对json的插件支持。常规来讲我们将如何将对象数组转成json对象在客户端直接调用呢?尤其和jquery的easyui插件配合使用,这个可能会有很多的问题需要我们解决。这里我只是将几个技术结合阐述。
二、将struts2增加对json的支持处理
1、增加相关jar包,这里我使用的是struts2.2.1.1版本,将他的官方文件下载下来可以看到我们需要的插件包都在,这里我以maven的pom文件片段说明需要增加的支持jar包。
- jaxen
- jaxen
- 1.1.1
- net.sf.ezmorph
- ezmorph
- 1.0.6
- net.sf.json-lib
- json-lib
- 2.4
- jdk15
- commons-collections
- commons-collections
- 3.2.1
- org.apache.struts
- struts2-json-plugin
- 2.2.1.1
2、选择jquery以及easyui的版本,这里我用的是jquery1.4.4版本和easyui的1.2.2版本(jquery-easyui-1.2.2)
3、进行action代码编写
- private static final long serialVersionUID = 1L;
- private IGodPositionService godPositionService;
- //对象实例
- private GodPosition godPosition;
- //对象集合
- private List godPositionList;
- //这东西得和grid中的参数对应上,返回json对象,不是返回json串
- private JSONArray rows;
- public JSONArray getRows() {
- return rows;
- }
- public void setRows(JSONArray rows) {
- this.rows = rows;
- }
- //可以用来放回字符串结果
- private String result;
- //记录数量
- private int total=0;
- public String getResult() {
- return result;
- }
- public void setResult(String result) {
- this.result = result;
- }
- public int getTotal() {
- return total;
- }
- public void setTotal(int total) {
- this.total = total;
- }
- public String godlist() throws ServiceException{
- HttpServletResponse resp=ServletActionContext.getResponse();
- resp.setContentType("application/json");
- godPositionList = godPositionService.findAllGodPosition();
- //进行集合的转换,转换成json对象
- rows=JSONArray.fromObject(godPositionList);
- //记录条数的记录
- total=godPositionList.size();
- logger.info("[total]:"+total+"[rows]:"+rows);
- return "root";
- }
4、配置文件编写
- <</span>package name="jsonpackage" extends="loginpackage,json-default" namespace="/json">
- "loginInterceptor" class="com.jiuchongju.interceptor.LoginInterceptor">
- "loginInterceptorStack">
- "loginInterceptor">
- "json">
- "defaultStack">
- <<span
class="keyword" style="margin: 0px; padding: 0px; border: none;
color: rgb(0, 102, 153); background-color: inherit; font-weight:
bold; ">default-interceptor-ref name="loginInterceptorStack"></</span>default-interceptor-ref> - "godjson" class="JsonAction">
- "root" type="json">
- "excludeProperties">godPositionService,godPosition,godPositionList
- </<span class="keyword" style="margin: 0px; padding: 0px;
border: none; color: rgb(0, 102, 153); background-color: inherit;
font-weight: bold; ">package>
5、页面展示代码编写
- "stylesheet" type="text/css" href="
版权声明:本文为博主原创文章,未经博主允许不得转载。
struts2+jquery+easyui+datagrid+j…的更多相关文章
- Jquery easyui datagrid 导出Excel
From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...
- jQuery EasyUI datagrid实现本地分页的方法
http://www.codeweblog.com/jquery-easyui-datagrid%e5%ae%9e%e7%8e%b0%e6%9c%ac%e5%9c%b0%e5%88%86%e9%a1% ...
- jQuery EasyUI DataGrid Checkbox 数据设定与取值
纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...
- jquery easyui datagrid使用参考
jquery easyui datagrid使用参考 创建datagrid 在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid.代码如下: 页面上 ...
- jquery easyui datagrid 获取Checked选择行(勾选行)数据
原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...
- 扩展jquery easyui datagrid编辑单元格
扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...
- jquery easyui datagrid 加每页合计和总合计
jquery easyui datagrid 加每页合计和总合计 一:效果图 二:代码实现 这个只有从后台来处理 后台根据rows 和page两个参数返回的datatable 命名为dt 然后根据dt ...
- jQuery EasyUI datagrid列名包含特殊字符会导致表格错位
首先申明:本文所述的Bug存在于1.3.3以及更高版本中,其它低版本,本人未测试,太老的版本不想去折腾了. 洒家在写前端的SQL执行工具时,表格用了 jQuery EasyUI datagrid,因为 ...
- jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条
jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条 ============================== 蕃薯耀 2018年2月6日 http://www. ...
随机推荐
- 【BZOJ4976】宝石镶嵌 DP
[BZOJ4976]宝石镶嵌 Description 魔法师小Q拥有n个宝石,每个宝石的魔力依次为w_1,w_2,...,w_n.他想把这些宝石镶嵌到自己的法杖上,来提升法杖的威力.不幸的是,小Q的法 ...
- Angular入门(四) Router 替换当前页面
1.在 xx.html 中直接 写标签 <a [routerLink]="['/home']">home</a> 2.在 xx.html 中 ...
- Vue中表单校验
1.安装校验插件vee-validate npm install vee-validate --save 2.在main.js中引用插件 // 表单校验 import VeeValidate, { V ...
- 九度OJ 1031:xxx定律 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6058 解决:3816 题目描述: 对于一个数n,如果是偶数,就把n砍掉一半:如果是奇数,把n变成 3*n+ 1后砍掉一半,直到该数 ...
- BCH分叉是一次站队博弈
BCH分叉在即,很多人说BCH本次分叉实质是大佬间的斗争,主要是本次BCH分叉主要分为两大派别: 一派以BCH用户量最大的客户端Bitcoin ABC开发组为主,要在11月15日展开硬分叉升级,主要升 ...
- re.sub用法
re.sub功能是对于一个输入的字符串,利用正则表达式,来实现字符串替换处理的功能返回处理后的字符串 re.sub共有五个参数 三个必选参数pattern,repl,string 两个可选参数coun ...
- LeetCode:访问所有节点的最短路径【847】
LeetCode:访问所有节点的最短路径[847] 题目描述 给出 graph 为有 N 个节点(编号为 0, 1, 2, ..., N-1)的无向连通图. graph.length = N,且只有节 ...
- centos下安装nodejs及websocket
软件环境: VMware Workstation CentOS 6.5 NodeJS v0.12.5 安装过程: Step 1.确认服务器有nodejs编译及依赖相关软件,如果没有可通过运行以下命令安 ...
- [转]aliyun阿里云Maven仓库地址——加速你的maven构建
原文链接:http://www.cnblogs.com/geektown/p/5705405.html maven仓库用过的人都知道,国内有多么的悲催.还好有比较好用的镜像可以使用,尽快记录下来.速度 ...
- python基础-正则1
什么是正则表达式? 正则表达式是一种小型的\高度专业化的变成语言,主要用于字符串处理 正则表达式是一种通用语言,在python中通过re模块实现,import re 工具:在线正则表达式测试 http ...