JR 精品文章 - struts出错处理小探
AD: jr (at) javaresearch.org


首页 | 动态 | 文章 | FAQ  | 新闻 | 下载 | 代码 | 工作 | 调查 | 术语 | 站点 | 图书 | 论坛 | 帮助 | 全部  

TOP | 交流 | 软件 | 专栏 | 开源 | 译/著 | 源码 | API  | 推荐 | FTP  | 积分 | 统计 | 搜索 | Blog | 我们  
首页 » 研究文集 » 开发框架 搜索标题相关文章 搜索标题相关文章    评论此文章 发表评论     开始监控此文章 开始监控   加入收藏夹  加入收藏夹
struts出错处理小探
sunvy 原创   更新:2008-05-07 00:01:15  版本: 1.0   

   Struts中提供方便的出错处理机能,利用ActionForm的validate方法就可以进行业务相关的错误处理。
   ①首先,我们会在ActionForm中validate方法中将报错信息存储在ActionErrors对象中,在这里只有ActionErrors才会被request捕获
public ActionErrors validate(ActionMapping mapping,
            HttpServletRequest request) {
        // TODO Auto-generated method stub
        ActionErrors errors = new ActionErrors();
        if(username == null || "".equals(username)) {
            ActionError error = new ActionError("Invalid.username", "null");   //出现错误,将记录错误的key
            errors.add("usernameInvalid", error);
        }
        return errors;
    }

错误信息ActionError error = new ActionError("Invalid.username", "null");是将出错信息的对应到资源文件的Key值记录下来存储在ActionError中,还提供了一些参数的记录。这样就可以通过<html:errors/>来读取对应的错误信息。资源文件的描述:
Invalid.username=invalid user name "{0}"
这里的Invalid.username就对应到ActionError error = new ActionError("Invalid.username", "null");中的Invalid.username。
{0}将被null替换。

  ②JSP代码:
<H2><bean:message key="welcome.h2"/></H2><html:errors/>

  ③Struts-config.xml文件的配置:
<action-mappings >
      <action path="/LoginAction" 
          input="/welcome.jsp"
          name="Login"
          type="com.home.struts.action.LoginAction" 
          scope="request" 
          validate="true" >
          <forward name="success" path="/blank.jsp"/>
          <forward name="fail" path="/welcome.jsp"/>
      </action> 
  <message-resources parameter="com.home.struts.ApplicationResources" />
</struts-config>
这里关键是validate属性和input属性,validate属性指定要不要进行错误信息的检查,true为进行检查。input则是指定错误信息输出的路径。message-resources则是指定目录下以及ApplicationResources为前缀的资源信息文件。

  ④资源文件的unicode化需要利用native2ascii命令来转化:
native2ascii -[options] [inputfile [outputfile]]
说明: 
-[options]:表示命令开关,有两个选项可供选择
-reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。
-encoding encoding_name:转换为指定编码,encoding_name为编码名称。
[inputfile [outputfile]]
inputfile:表示输入文件全名。
outputfile:输出文件名。如果缺少此参数,将输出到控制台。

例:native2ascii -encoding GB2312 ApplicationResources_cn.properties Applicati onResources_zh_CN.properties


版权声明   给作者写信
本篇文章对您是否有帮助?  投票:         投票结果:     8       0
作者其它文章: 作者全部文章
评论人:yg84 发表时间: Thu May 08 10:19:43 CST 2008
很基础的东西。但是很实用。有的时候都不用!
评论人:yg84 发表时间: Thu May 08 10:23:33 CST 2008
行 
评论人:zouming_3 发表时间: Thu May 08 17:40:05 CST 2008
对于初学者来说还是很不错的啊。
评论人:yangjping1000 发表时间: Thu May 08 21:46:40 CST 2008
keyi
评论人:huohuo 发表时间: Sun May 11 23:15:55 CST 2008
写的真好,受益匪浅啊!

这个文章共有 5 条评论
 
返回文章列表 返回〔开发框架〕
下一篇文章 主题: 转:Spring IoC, don't abuse it


文字广告链接
        自主、快速定制基于JAVA的B/S业务系统          重量级企业在线自定义WEB报表平台
        Excel制表、零代码发布、打印、图表结合——快逸报表,免费、稳定、功能强大的java工具
        技术圈: 关于Java、dotNet、PHP、Ruby、奇客、Web2.0等更多资讯博客精选文章

关于 JR  |  版权声明  |  联系我们 

©2002-2006 JR 版权所有 沪ICP备05019622号