zoukankan      html  css  js  c++  java
  • Struts2返回json

    Action怎么返回json类型数据?
    方法1,使用struts2的插件struts2-json-plugin-2.3.8.jar(在下载的strut2库文件夹中)。
    在struts2.xml中对要返回json的action配置,<package name="jsonPackage" extends="json-default"> 包要继承json-default
    result的配置如下
    <package name="jsonPackage" extends="json-default">
    <action name="testJson" class="testJsonAction">
    <result type="json">
    <param name="root">result</param>
    <param name="contentType">text/html</param>
    <param name="noCache">true</param>
    </result>
    </action>
    </package>

    在Action中 对要返回的对象 注解
    @JSON(name = "newName")
    public User getMap() {
    User user = new User();
    user.setAccountName("admin2");
    user.setName("bonker2");
    user.setPasswd("12345678");
    return user;
    }

    方法2 使用第三方json库,如GSON。 struts.xml的配置不变,
    在Action中对要返回的数据编写getXX的方法。例子如下
    public void getResult() throws IOException {
    Gson gson = new Gson();
    User user = new User();
    user.setAccountName("admin");
    user.setName("bonker");
    user.setPasswd("123456");
    // return gson.toJson(user); //这样返回的是字符串,前端拿到的是字符串要进行val()后才是json
    HttpServletResponse response = ServletActionContext.getResponse();
    response.setContentType("application/json;charset=utf-8");
    response.setHeader("caChe-Control", "no-cache");
    PrintWriter out = response.getWriter();
    out.print(gson.toJson(user));
    // 清空缓存
    out.flush();
    // 关闭
    out.close();
    }
    结论:建议使用第一种方案。

  • 相关阅读:
    Cloudera Manager 4.6 安装部署hadoop CDH集群
    linux下统计目录下所有子目录的大小
    jvisualvm远程监控tomcat
    安装ubuntu server时可能会需要的配置
    安装配置maven私服-nexus
    maven环境配置
    各版本eclipse的maven配置
    转载:Centos7 从零编译Nginx+PHP+MySql 序言 一
    MongoDB系列一:CentOS7.2下安装mongoDB3.2.8
    MongoDB Windows环境安装及配置
  • 原文地址:https://www.cnblogs.com/Bonker/p/5665963.html
Copyright © 2011-2022 走看看