我们在java开发中经常要进行表单验证,在使用Struts框架的ActionForm中,我们通过重写Validate()方法来实现自定义的表单验证。
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request) {
ActionErrors errors=new ActionErrors();
if(username==null||username.length()<1){
//判断用户名是否为空
errors.add( "username",new ActionMessage( "login.no.username.error"));
}
if(userpsw==null||userpsw.length()<1){
//判断密码是否为空
errors.add( "userpsw",new ActionMessage( "login.no.userpsw.error"));
}
return errors;
在这个方法中要注意的问题:
1、在Struts1.3之前的版本中,errors.add( "username",new ActionMessage( "login.no.username.error"))和errors.add( "username",new ActionError( "login.no.username.error"))是等价的,但是,Struts1.3中已无ActionError类,只能用new ActionMessage。
2、errors.add()中的参数“username”,要与相应jsp页面中定义的错误标签<html:errors property="错误名称">中property的值对应。
3、,new ActionMessage()的参数来自于你的资源文件(即.properties文件)定义的键,即name列或key列。
4、在<action-mappings>中将action的属性validate设置为true。
以上是我个人学习的小小总结,希望对大家有所帮助!