关键点:

  1. json数据格式
  2. 获取json数据
  3. 输出json
  4. 分页

#json数据格式#

datagrid:

{"total":1,"rows":[{"name":"小李"}]}

combobox:

[{"value":"001","text":"小李"},{"value":"002","text":"小红"}]

其他:

#获取json数据#

参考 使用Map List 封装json数据

#输出json#

方式一:PrintWriter
public String getJsonData(){

        Map<String,Object> data = new HashMap<String,Object>();
List<Map<String,Object>> personList = new ArrayList<Map<String,Object>>();
Map<String,Object> person = new HashMap<String,Object>(); person.put("name", "小李");
personList.add(person); data.put("total", personList.size());
data.put("rows", personList); HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html");
response.setCharacterEncoding("utf-8");
PrintWriter out;
try {
out = response.getWriter();
out.println(JSONObject.fromObject(data));
out.flush();
out.close();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}

PrintWriter

方式二:stream

片段一

InputStream inputStream;

    public InputStream getInputStream() {
return inputStream;
} public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
} public String getJsonData(){ Map<String,Object> data = new HashMap<String,Object>();
List<Map<String,Object>> personList = new ArrayList<Map<String,Object>>();
Map<String,Object> person = new HashMap<String,Object>(); person.put("name", "小李");
personList.add(person); data.put("total", personList.size());
data.put("rows", personList);
inputStream = new ByteArrayInputStream(JSONObject.fromObject(data).toString().getBytes());
return "inputStream";
}

.java 片段

片段二

<result type="stream" name="inputStream">
<param name="bufferSize">1024*1024</param>
<param name="inputName">inputStream</param>
</result>

struts.xml 片段

方式三:json

片段一

<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-json-plugin</artifactId>
<version>2.3.15.3</version>
</dependency>

pom.xml 片段

片段二

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="pages" namespace="/pages" extends="struts-default,json-default">
<global-results>
<result name="json" type="json" >
<param name="root">jsonObject</param>
</result>
</global-results>
</package>
</struts>

struts-view.xml

片段三

// 返回 JSON
Object jsonObject; // 页面跳转
static final String JSON = "json"; public Object getJsonObject() {
return jsonObject;
}
public void setJsonObject(Object jsonObject) {
this.jsonObject = jsonObject;
}

.java 片段

本实现方式需要引入struts2-json-plugin

  • struts.xml 需继承json-default

#分页#

见smse

struts2 集成 easyui的更多相关文章

  1. struts2 集成webservice 的方法

    由于项目需求的需要,要在原来用Struts2的框架之上集成webservice,因为之前单单做webservice的时候没有多大问题,使用 Spring 和 Xfire就可以轻松地发布服务,但是,当和 ...

  2. Spring,Struts2,MyBatis,Activiti,Maven,H2,Tomcat集成(二)——Struts2集成

    1. pom.xml文件添struts2依赖jar包: <!-- 与Struts2集成必须使用 --> <dependency> <groupId>org.spri ...

  3. Spring与Struts2集成开发

    Struts2和Spring都是不错的开源框架,Spring与Struts2集成开发,把二者结合在一起使用,开发效果更佳,效率杠杠的.下面介绍一下如何将Spring与Struts2集成在一起开发.分七 ...

  4. Vue 集成easyUI

    原 Vue 集成easyUI https://blog.csdn.net/m0_37948170/article/details/84960320   参考vue官网用cli创建了Vue项目之后: n ...

  5. SSM集成Easyui框架及多模块开发的认识

    首先我们需要建立好一个emaven项目,并且在pom.xml中导入响应的jar包, <?xml version="1.0" encoding="UTF-8" ...

  6. struts2+jquery+easyui+datagrid+j…

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

  7. struts2集成javamail发邮件(带附件)实践记录

    一.代码预览 这两天在做struts2上的邮件发送.以前的项目有用到spring,用spring提供的邮件支持类很方便可以完成这个功能,但是现在只用struts2的话,就碰到了一系列的问题. 代码是从 ...

  8. Struts2与easyui分页查询

    easyui里面分页查询:在easyui框架里面已经进行一些分装,所以我们只要进行后台分页查询即可 web.xml和struts.xml文件的配置的就不需要我多说了,和分页前代码一样,不需要更改: 需 ...

  9. vuecli3集成easyui

    思路是这样的,首先要将jquery设置成全局,然后就可以正常使用easyUI了. jquery安装命令: npm install --save jquery jquery-easyui安装命令: np ...

随机推荐

  1. 09day2

    多米诺骨牌 递推+高精度 [问题描述] Jzabc 对多米诺骨牌有很大兴趣,然而他的骨牌比较特别,只有黑色的和白色的两种.他觉得如果存在连续三个骨牌是同一种颜色,那么这个骨牌排列便是不美观的.现在他有 ...

  2. 【英语】Bingo口语笔记(48) - 关于春节的表达

  3. 【转】iOS开发UI篇—iPad和iPhone开发的比较

    原文网址:http://www.cnblogs.com/wendingding/p/3918007.html iOS开发UI篇—iPad和iPhone开发的比较 一.iPad简介 1.什么是iPad ...

  4. 将错误日志记录在txt文本里

    引言 对于已经部署的系统一旦出错对于我们开发人员来说是比较痛苦的事情,因为我们不能跟踪到错误信息,不能 很快的定位到我们的错误位置在哪,这时候如果能像开发环境一样记录一些堆栈信息就可以了,这时候我们就 ...

  5. Linux中用stat命令查看文件时3个时间点解析

    有些时候,我们需要在Linux中使用stat命令来查看文件的详细信息.另外联想下,ls -l命令显示的是什么时间,touch命令修改文件的时间戳,修改的又是什么时间?在这里我们一起来试验下. 首先,我 ...

  6. android操作SQLite

    一.SQLite SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 ...

  7. hdu 1541 Stars(线段树单点更新,区间查询)

    题意:求坐标0到x间的点的个数 思路:线段树,主要是转化,根据题意的输入顺序,保证了等级的升序,可以直接求出和即当前等级的点的个数,然后在把这个点加入即可. 注意:线段树下标从1开始,所以把所有的x加 ...

  8. 网页元素定位神器之Xpath详解

    摘要: 经常在工作中会使用到XPath的相关知识,但每次总会在一些关键的地方不记得或不太清楚,所以免不了每次总要查一些零碎的知识,感觉即很烦又浪费时间,所以对XPath归纳及总结一下. ...     ...

  9. 【LeetCode】70 - Climbing Stairs

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  10. The serializable class does not declare a static final serialVersionUID field of type long

    在编译以下Java程序时,出现The serializable class  does not declare a static final serialVersionUID field of typ ...