Struts
中重写
ActionForm
中
validate
方法验证表单
要想验证就要先重写验证函数,在org.apache.struts.action.ActionForm
中有两个验证表单函数,分别为
public ActionErrors validate(ActionMapping mapping,
javax.servlet.ServletRequest 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
方法。