struts2返回json和几种方式

本文介绍了三种在Struts2框架中输出JSON数据的方法:直接使用response对象返回JSON字符串、通过返回流的方式输出以及利用struts2-json-plugin插件实现自动序列化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、response对象返回

response.setContentType("text/html");

PrintWriter out = response.getWriter();

out.println("json");

out.flush();

return null;

输入结果: json


二、通过struts返回stream来输出

action代码

public class TextResult extends ActionSupport {

private InputStream inputStream;

public InputStream getInputStream() {

return inputStream;

}

publicString execute() throws Exception {

inputStream = new StringBufferInputStream("json");

return SUCCESS; }

}

xml配置

<action name="text-result" class="actions.TextResult">

<result type="stream">

<param name="contentType">text/html</param>

<param name="inputName">inputStream</param>

</result>

</action>

输出结果: json

三、使用struts2-json-plugin插件:可以下载获得

action代码

public class TextResult extends ActionSupport {

private Object name; //要对需要输出的属性,生成getter和setter方法,即以bean的形式存在

public String execute() throws Exception {

name = "json";

return SUCCESS; }

public String getName() {

return this.name;

}

}


xml配置

<package name="example" extends="json-default">

<action name="JSONExample" class="example.JSONExample">

<result type="json">

<param name="contentType">text/html</param>

</result>

</action>

</package>

输出结果:{"name":"json"}

使用这个插件,默认会把action中所有有get方法的属性把输出,可以使用@JSON(serialize =false)这个注解进行取消。

参考strtus2文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值