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:  *   * 
  * 
*
*
stringName *
*
*
* */ 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; } }

 

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”。

 

上一篇:QueryHelper插件类(hql)
下一篇:使用POI操作Excel

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月07日 03时26分41秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章