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();
    }
    结论:建议使用第一种方案。

  • 相关阅读:
    python之安卓逆向HOOK系统通用类
    MySQL 排名、分组后组内排名、取各组的前几名
    MySQL case
    MySQL 行列相互转换
    MySQL学习笔记(四)
    回归分析
    构建决策树
    用K-Means聚类分析做客户分群
    会员数据化运营
    数据降维——主成分分析、因子分析、线性判别分析
  • 原文地址:https://www.cnblogs.com/Bonker/p/5665963.html
Copyright © 2011-2022 走看看