Struts2 如何返回 JSON 响应 [重复]

2023-12-25

我目前正在创建一个 Web 应用程序,用户可以在其中以 JSON 形式从数据库获取标签,

这是我的 struts 动作

public String execute(){


    Gson gson = new Gson();
    String tagsAsJson = gson.toJson(audioTaggingService.findTagsByName(q));
    System.out.println(tagsAsJson);

    return "success";
}

UPDATE:

The tagsAsJson已经是 JSON 格式,我想要的只是返回该格式,而不是整个类操作本身。

它返回这样的东西

这是我要返回给用户的数据

[{"id":2,"name":"Dubstep","description":"Dub wob wob"},{"id":3,"name":"BoysIIMen","description":"A 1990s Boy Band"},{"id":4,"name":"Sylenth1","description":"A VST Plugin for FLStudio "}]

我该如何退回tagsAsJson作为 JSON 响应?因为客户端代码将使用该 JSON 响应。


使用Struts“JSON 插件” http://struts.apache.org/release/2.3.x/docs/json-plugin.html.

很简单,三步:

只需将其包含在您的 Maven 项目中即可,如下所示

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-json-plugin</artifactId>
    <version>${version.struts2}</version>
</dependency>

声明您想要返回为 JSON 字符串的字段,就像您的操作字段一样,提供 getter 和 setter。

public class Struts2Action extends ActionSupport {

    private String jsonString;

    public String execute() {
        Gson gson = new Gson();
        jsonString = gson.toJson(audioTaggingService.findTagsByName(q));

        return "success";
    }

    public String getJsonString() {
        return jsonString;
    }

    public void setJsonString(String jsonString) {
        this.jsonString = jsonString;
    }
}

最后,将其放入 XML 中:

<action name="someJsonAction" class="com.something.Struts2Action">
    <result type="json">
        <param name="noCache">true</param>
        <param name="excludeNullProperties">true</param>
        <param name="root">jsonString</param>
    </result>
</action>

注意<param name="root">jsonString</param>。这段 xml 告诉 Struts2 这个确切的属性应该被视为 JSON 序列化的根。因此,只有指定的属性(以及下面的属性,如果它是地图或其他属性)将在 JSON 响应中返回。

感谢 JSON 插件,内容类型将是正确的。

“JSON 插件”文档在这里:http://struts.apache.org/release/2.3.x/docs/json-plugin.html http://struts.apache.org/release/2.3.x/docs/json-plugin.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Struts2 如何返回 JSON 响应 [重复] 的相关文章

随机推荐