Struts中重写ActionForm中validate方法验证表单

Struts 中重写 ActionForm validate 方法验证表单
要想验证就要先重写验证函数,在org.apache.struts.action.ActionForm
中有两个验证表单函数,分别为
public ActionErrors validate(ActionMapping mapping,
javax.servlet.ServletRequest request)
public ActionErrors validate(ActionMapping mapping,                              javax.servlet.http.HttpServletRequest request)
我们重写的需是后者:如下
public ActionErrors validate(ActionMapping mapping,HttpServletRequest request)
 {
      ActionErrors error = new ActionErrors();
      if(username==null || "".equals(username))
      {
  error.add("nameError",new ActionMessage("jsp.login.name.error"));    
      }
      if(password==null || "".equals(password))
      {
                error.add("passwordError", new ActionMessage("jsp.login.password.error"));
      }
      return error;
 }
在此方法中 error.add 中的第一个参数为你所要在某一个 JSP 页面内所需要使用到的错误名称。一个表单会有多个错误,当然就需要有多个不同的名称将它们记住。 ActionMessage 中参数所用字符串需是在 ApplicationResources.properties 中记定义到 Key-Value 中的 Key . 而其中的 Value 才在以后在你页面当中显示的错误提示。
除此这外,我们还需要修改一个 Struts 的配置文件。
<action-mappings > 中的 action 中需要将 validate 属性设置为 true , input 中添写将要显示错误的页面 当然用到了表单验证,我们就当然需要再配置一下 <form-beans > 全部如下
 
<form-beans >
    <form-bean name="loginForm" type="form.LoginForm"/>
 </form-beans>
<action-mappings >
     <action path="/login" name="loginForm"
        type="LoginAction" validate="true" input="/Login.jsp"/> </action-mappings>
PS <action-mapping> 中的 path 为从页面接收 .do 操作的名称 , name 为用到的表单名称, type 为处理此事务所用到的某一个 action 方法。
 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值