Struts2.0学习笔记---对所有方法进行校验和对某个方法进行校验

来源:互联网 发布:上海逸晗网络 编辑:程序博客网 时间:2024/06/04 19:27

校验就是说进行验证,核对信息的有效性,然后才进行下一步。

是这样做的:

对要校验数据的类继承ActionSupport类,重写这个方法

比如,校验这个类中username与phone的属性。

@Overridepublic void validate() {if(username==null||"".equals(username.trim())){this.addFieldError("username", "用户名为空");}if(phone==null||"".equals(phone.trim())){this.addFieldError("phone", "手机号为空");}else{if(!phone.matches("^1[358][0-9]{9}$")){this.addFieldError("phone", "手机号格式有误");}}}
当不符合要求时,把错误信息保存,this.addFieldError("" ,"")  ;   
如果信息符合要求,会在其对应的方法中return “message” 信息,然后 struts.xml 会把页面跳转到成功处理的页面。

若是信息不符合要求,则依然停留在此input页面,

<%@ taglib uri="/struts-tags"  prefix="s" %>

 <s:fielderror></s:fielderror>

会打印输出存在FieldError中的错误信息。


我的struts.xml中

<package name="default" extends="struts-default"><action name="showWords_*"   class="validate.ShowWords"  method="{1}"><result name="message">message.jsp</result><result name="input">index.jsp</result></action>    </package>


若是要对某个方法进行校验,只需要去掉重载号@override,并且把函数名validate改为validate+待校验的函数名,注意待校验的函数名要求大写。

若是在把输入类型转化为类的属性过程中,出现问题,那么也依旧停留在input页面。




0 0
原创粉丝点击