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,存放着若干个ActionMessage(ActionError已不推荐使用)对象,每个ActionMessage都有个key,类似于一个Cookie,每个ActionMessage都含有一小段验证错误信息。 ActionErrors继承与ActionMessages,其中封装了若干条错误信息,他含有一个方法add(String property,ActionMessage message)。 ActionMessage存放的错误信息为一个String,且来源于资源文件。 在new一个ActionMessage来封装异常信息时,存放的是key(资源文件中的key,key的value在资源文件中)。 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");得到key为errors.name 3-->在资源文件中查找key为errors.name所对应的value值 4-->在出错页面上显示value值。 |
版权声明:本文为博主原创文章,未经博主允许不得转载。