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

  • 相关阅读:
    格式化数据和DataBinder.Eval用法范例【转】
    动态GridView +DataTable
    Container.DataItem
    SQL自定义字段排序
    VS 2008 Web Deployment Project
    清除SQLServer日志
    SQL常用功能
    在Web应用程序中执行计划任务(多线程)
    得到临时表的列数
    用rdlc文件直接导出到excel或PDF
  • 原文地址:https://www.cnblogs.com/Bonker/p/5665963.html
Copyright © 2011-2022 走看看