一、概述

struts2提供了针对json的插件支持。常规来讲我们将如何将对象数组转成json对象在客户端直接调用呢?尤其和jquery的easyui插件配合使用,这个可能会有很多的问题需要我们解决。这里我只是将几个技术结合阐述。

二、将struts2增加对json的支持处理

1、增加相关jar包,这里我使用的是struts2.2.1.1版本,将他的官方文件下载下来可以看到我们需要的插件包都在,这里我以maven的pom文件片段说明需要增加的支持jar包。

[java] view
plain
copy



  1. jaxen
  2. jaxen
  3. 1.1.1
  4. net.sf.ezmorph
  5. ezmorph
  6. 1.0.6
  7. net.sf.json-lib
  8. json-lib
  9. 2.4
  10. jdk15
  11. commons-collections
  12. commons-collections
  13. 3.2.1
  14. org.apache.struts
  15. struts2-json-plugin
  16. 2.2.1.1

2、选择jquery以及easyui的版本,这里我用的是jquery1.4.4版本和easyui的1.2.2版本(jquery-easyui-1.2.2)

3、进行action代码编写

[java] view
plain
copy



  1. private static final long serialVersionUID = 1L;
  2. private IGodPositionService godPositionService;
  3. //对象实例
  4. private GodPosition godPosition;
  5. //对象集合
  6. private List godPositionList;
  7. //这东西得和grid中的参数对应上,返回json对象,不是返回json串
  8. private JSONArray rows;
  9. public JSONArray getRows() {
  10. return rows;
  11. }
  12. public void setRows(JSONArray rows) {
  13. this.rows = rows;
  14. }
  15. //可以用来放回字符串结果
  16. private String result;
  17. //记录数量
  18. private int total=0;
  19. public String getResult() {
  20. return result;
  21. }
  22. public void setResult(String result) {
  23. this.result = result;
  24. }
  25. public int getTotal() {
  26. return total;
  27. }
  28. public void setTotal(int total) {
  29. this.total = total;
  30. }
  31. public String godlist() throws ServiceException{
  32. HttpServletResponse resp=ServletActionContext.getResponse();
  33. resp.setContentType("application/json");
  34. godPositionList = godPositionService.findAllGodPosition();
  35. //进行集合的转换,转换成json对象
  36. rows=JSONArray.fromObject(godPositionList);
  37. //记录条数的记录
  38. total=godPositionList.size();
  39. logger.info("[total]:"+total+"[rows]:"+rows);
  40. return "root";
  41. }

4、配置文件编写

[java] view
plain
copy



  1. <</span>package name="jsonpackage" extends="loginpackage,json-default" namespace="/json">
  2. "loginInterceptor" class="com.jiuchongju.interceptor.LoginInterceptor">
  3. "loginInterceptorStack">
  4. "loginInterceptor">
  5. "json">
  6. "defaultStack">
  7. <<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>
  8. "godjson" class="JsonAction">
  9. "root" type="json">
  10. "excludeProperties">godPositionService,godPosition,godPositionList
  11. </<span class="keyword" style="margin: 0px; padding: 0px;
    border: none; color: rgb(0, 102, 153); background-color: inherit;
    font-weight: bold; ">package>

5、页面展示代码编写

[java] view
plain
copy



  1. "stylesheet" type="text/css" href="

版权声明:本文为博主原创文章,未经博主允许不得转载。

struts2+jquery+easyui+datagrid+j…的更多相关文章

  1. Jquery easyui datagrid 导出Excel

    From:http://www.cnblogs.com/weiqt/articles/4022399.html datagrid的扩展方法,用于将当前的数据生成excel需要的内容. 1 <sc ...

  2. 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% ...

  3. jQuery EasyUI DataGrid Checkbox 数据设定与取值

    纯粹做个记录,以免日后忘记该怎么设定. 这一篇将会说明两种使用 jQuery EasyUI DataGrid 的 Checkbox 设定方式,以及在既有数据下将 checked 为 true 的该笔数 ...

  4. jquery easyui datagrid使用参考

    jquery easyui datagrid使用参考   创建datagrid 在页面上添加一个div或table标签,然后用jquery获取这个标签,并初始化一个datagrid.代码如下: 页面上 ...

  5. jquery easyui datagrid 获取Checked选择行(勾选行)数据

    原文:jquery easyui datagrid 获取Checked选择行(勾选行)数据 getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录. getSel ...

  6. 扩展jquery easyui datagrid编辑单元格

    扩展jquery easyui datagrid编辑单元格 1.随便聊聊 这段时间由于工作上的业务需求,对jquery easyui比较感兴趣,根据比较浅薄的js知识,对jquery easyui中的 ...

  7. jquery easyui datagrid 加每页合计和总合计

    jquery easyui datagrid 加每页合计和总合计 一:效果图 二:代码实现 这个只有从后台来处理 后台根据rows 和page两个参数返回的datatable 命名为dt 然后根据dt ...

  8. jQuery EasyUI datagrid列名包含特殊字符会导致表格错位

    首先申明:本文所述的Bug存在于1.3.3以及更高版本中,其它低版本,本人未测试,太老的版本不想去折腾了. 洒家在写前端的SQL执行工具时,表格用了 jQuery EasyUI datagrid,因为 ...

  9. jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条

    jquery easyui datagrid 无滚动条,datagrid 没垂直滚动条 ============================== 蕃薯耀 2018年2月6日 http://www. ...

随机推荐

  1. Cannot create __weak reference in file using manual reference counting

    Xcode更新到7.3后会出现NSObject+MJProperty.h报Cannot create __weak reference in file using manual reference c ...

  2. 九度OJ 1172:哈夫曼树 (贪心)

    时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:6701 解决:2954 题目描述: 哈夫曼树,第一行输入一个数n,表示叶结点的个数.需要用这些叶结点生成哈夫曼树,根据哈夫曼树的概念,这些结 ...

  3. cocos2d-js添加百度MSSP插屏(通过jsb反射机制)

    1.导入jar包.... 2.修改AndroidManifest.xml文件 添加: <meta-data android:name="BaiduMobAd_APP_ID" ...

  4. Action类的工作机制

    Action类的工作机制 Execute()方法包含以下参数 ActionMapping:包含了这个Action的配置信息,和struts-config.xml文件中的<action>元素 ...

  5. cron表达式(转)

    原文地址:http://www.cnblogs.com/linjiqin/archive/2013/07/08/3178452.html Cron表达式是一个字符串,字符串以5或6个空格隔开,分为6或 ...

  6. C ~ 指针零散记录

    2016.10.11 一个记录 void MB_float_u16(float f,uint16_t *a,uint16_t *b) { uint8_t *fp; ① uint8_t *ap; ② a ...

  7. 2018年东北农业大学春季校赛 E wyh的阶乘 【数学】

    题目链接 https://www.nowcoder.com/acm/contest/93/E 思路 其实就是找阶乘的项中5的个数 末尾为什么会出现0 因为存在5的倍数和偶数相乘 有0存在 借鉴 htt ...

  8. 利用iOS原生系统进行人脸识别+自定义滤镜(GPUImage)

    人脸识别+滤镜效果(基于GPUImage实现的自定义滤镜) 最近碰到一个好玩的需求.说要客户端这边判定一下是否有人脸.在有的基础上.对相片做进一步的美化滤镜处理. 首先是人脸的识别判定; //将图片对 ...

  9. 【Leetcode-easy】String to Integer(atoi)

    题目要求:字符串->整型 * 1. 首先需要丢弃字符串前面的空格. * 2. 然后可能有正负号(注意只取一个,如果有多个正负号,那么说这个字符串是无法转换的,返回0.比如测试用例里就有个“+-2 ...

  10. 学习 Promise,掌握未来世界 JS 异步编程基础

    其实想写 Promise 的使用已经很长时间了.一个是在实际编码的过程中经常用到,一个是确实有时候小伙伴们在使用时也会遇到一些问题.Promise 也确实是 ES6 中 对于写 JS 的方式,有着真正 ...