关键点:

  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. 事件类型: 错误 事件来源: Service Control Manager 事件种类: 无 事件 ID: 7000

    在控制面板\管理工具\服务里找dns Client 服务,把他启动了

  2. http server 下载地址

    windows 64为位:https://www.apachelounge.com/download/

  3. Android命令行播放MP3音乐

    /*************************************************************************** * Android命令行播放MP3音乐 * 说 ...

  4. Qt 控制watchdog app hacking

    /************************************************************************** * Qt 控制watchdog app hack ...

  5. 无线端通用的reset样式

    @charset "utf-8"; html, body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, o ...

  6. UVa572 - Oil Deposits

    解题思路:好久没写搜索了,练练手,陶冶情操.不多说,直接贴代码: #include<cstdio> #include<cstring> #include<algorith ...

  7. 【英语】Bingo口语笔记(55) - work系列

  8. php 使用date()函数的报错

    错误提示: Warning: date(): It is not safe to rely on the system's timezone settings. You are *required* ...

  9. 开发框架XUtils

    xUtils 包含了很多实用的android工具. xUtils 最初源于Afinal框架,进行了大量重构,使得xUtils支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的O ...

  10. 【C++】非原创|统计代码覆盖率(一:C++)

    也是转别人的,因为我c++好菜好菜啊... http://blog.chinaunix.net/uid-23741326-id-3316943.html c++跟C基本是一样的,统计覆盖率,需要生成g ...