public ActionErrors validate(ActionMapping actionMapping,
HttpServletRequest httpServletRequest) {
ActionErrors errors = new ActionErrors();
if (username == null|| username.equals("")) {
errors.add(ActionErrors.GLOBAL_MESSAGE,
new ActionError("loginform.error.username"));
}
if (userpass == null||userpass.equals("")) {
errors.add(ActionErrors.GLOBAL_MESSAGE,
new ActionError("loginform.error.password"));
}
return errors;
}
这个方法返回ActionErrors对象,如果返回的ActionErrors对象为null,或者不包含任何ActionMessage对象,就表示没有错误,数据验证通过。如果ActionErrors中包含ActionMessage对象,就表示发生了验证错误,此时就回把请求转发到你struts.xml里面元素input属性指定的web资源。
new ActionError("loginform.error.username");取得资源文件里面的键值,用于页面的输出。
2、 打开applicationResource.properties,加入如下信息:
loginform.error.username=please enter your username
loginform.error.password=please enter your password
因为我们前面做了国际化,所以打开applicationResource_zh_CN.properties文件,添加如下:
loginform.error.username=请输入用户名
loginform.error.password=请输入密码
3、 修改struts-config.xml文件
path="/login"
name="loginActionForm"
scope="request"
type="actions.LoginAction"
validate="true"
input="/login.jsp">
在元素中,name和scope属性分别指定ActionForm的名字和它的范围,valudate属性指定是否执行表单验证,而input属性表示验证失败,所要显示用户的内容。
(编辑:aniston)
|