struts2 action 返回原始字符串
文章来源 blog.csdn.net/joyous/article/details/80722121
以返回 stream 的方式返回原始文本字符串,返回的"stream"字符串必须与 struts.xml 内的 result 设置相符。
// 创建私有变量
private InputStream streamActionResult = null;
// struts.xml 定义返回
public InputStream getStreamActionResult()
{
return streamActionResult;
}
// action
public String execute()
{
try
{
streamActionResult = new ByteArrayInputStream("success".getBytes("UTF-8"));
}
catch (UnsupportedEncodingException e)
{
e.printStackTrace();
}
// struts.xml type="stream"
String strResult = "stream";
return strResult;
}
struts.xml,type="stream" 与 java 内的 execute() 返回信息一直。
<action name="message" class="net.api.APiAction" method="execute">
<result name="text" type="stream">
<param name="contentType">text/html</param>
<param name="inputName">StreamActionResult</param>
</result>
</action>
还有另一种采用 servlet 的方法,会更直接一些,不用修改 struts.xml,但没有前一种方法优雅。
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
// 原样返回的字符串数据
out.print(strEchostr);
out.close();
文章来源 blog.csdn.net/joyous/article/details/80722121