
StrutsResultSupport的使用
发布日期:2021-05-09 04:57:21
浏览次数:15
分类:博客文章
本文共 2763 字,大约阅读时间需要 9 分钟。
在有特殊情况时;如果没有异常信息,但是有错误并且有错误信息等内容;此时也需要进行友好的错误处理的话,那么可以借助StrutsResultSupport 返回结果类型来实现特定处理。此种方式先需要继承StrutsResultSupport ,然后可以在子类中获取本次请求的相关信息,再根据相关信息进行结果处理:
package commons.struts2; import Java.io.PrintWriter; import javax.servlet.http.HttpServletResponse; import org.apache.struts2.dispatcher.StrutsResultSupport; import com.opensymphony.xwork2.ActionInvocation; /** * result type for output string in action * * @author songwei,yaolei Example: * ** ** */ public class StringResultType extends StrutsResultSupport { private static final long serialVersionUID = 1L; private String contentTypeName; private String stringName = ""; public StringResultType() { super(); } public StringResultType(String location) { super(location); } protected void doExecute(String finalLocation, ActionInvocation invocation) throws Exception { HttpServletResponse response = (HttpServletResponse) invocation .getInvocationContext().get(HTTP_RESPONSE); // String contentType = (String) // invocation.getStack().findValue(conditionalParse(contentTypeName, // invocation)); String contentType = conditionalParse(contentTypeName, invocation); if (contentType == null) { contentType = "text/plain; charset=UTF-8"; } response.setContentType(contentType); PrintWriter out = response.getWriter(); // String result = conditionalParse(stringName, invocation); String result = (String) invocation.getStack().findValue(stringName); out.println(result); out.flush(); out.close(); } public String getContentTypeName() { return contentTypeName; } public void setContentTypeName(String contentTypeName) { this.contentTypeName = contentTypeName; } public String getStringName() { return stringName; } public void setStringName(String stringName) { this.stringName = stringName; } }* stringName * * *
package test; import com.opensymphony.xwork2.ActionSupport; public class MyAction extends ActionSupport{ String result="abc"; public String ajax() { return "ajaxResponse"; } // getter && setter public String getResult() { return result; } public void setResult(String result) { this.result = result; } }
result
这里定义返回Action的String result变量,即“abc”。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月07日 03时26分41秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【Docker】(1)---Docker入门篇
2021-05-09
【Docker】(5)---springCloud注册中心打包Docker镜像
2021-05-09
Spring 学习笔记(三)——IoC容器(ApplicationContext)
2021-05-09