关于validate

ActionErrors validate(...){

ActionErrors errors=new ActionErrors()

if("".equals(userName)||userName=null){

    message=new ActionMessage("errors.name");

    errors.add("userName",message);

}

if("".equals(pwd)||pwd=null){

    message=new ActionMessage("errors.pwd");

    errors.add("pwd",message);

}

return errors

}

=================================================================

        以上的ActionErrors类似与一个Map,存放着若干个ActionMessageActionError已不推荐使用)对象,每个ActionMessage都有个key,类似于一个Cookie,每个ActionMessage都含有一小段验证错误信息。

      ActionErrors继承与ActionMessages,其中封装了若干条错误信息,他含有一个方法add(String property,ActionMessage message)

      ActionMessage存放的错误信息为一个String,且来源于资源文件。

  在new一个ActionMessage来封装异常信息时,存放的是key(资源文件中的key,keyvalue在资源文件中)

    struts提供了<html:errors/>标签来显示整个ActionErrors的错误信息。但要在struts-config.xml中设置<action ... input="reg.jsp">(input属性指定校验出错时所跳转的页面)

    ActionErrors对象为null或者其中没有ActionMessage,则验证成功-->执行execute方法。

    ActionErrors对象中有至少一个ActionMessage,则失效

-->跳转到input指定的jsp页面。

    <html:errors/>显示所有的错误信息,可以在jsp页面中用<html:errors property="userName"/>来配置显示userName的错误信息。

出错显示的步骤:

<html:errors property="userName"/>

1-->查找errors.add("userName",message);中的userName得到相应的message对象

2-->message=new ActionMessage("errors.name");得到keyerrors.name

3-->在资源文件中查找keyerrors.name所对应的value

4-->在出错页面上显示value值。

版权声明:本文为博主原创文章,未经博主允许不得转载。

posted @ 2013-01-21 00:36  一直向北  阅读(148)  评论(0编辑  收藏  举报