我刚学Struts 不久 对这个Struts 不怎么懂 ,今天第一用Validation框架验证表单 就遇到难题
希望 大虾们 帮我解决:
问题: Validation不验证 直接进入Action.
代码:
login.jsp <html:form action="/login.do?metdom=getUser">
<table border="0">
<tr>
<td><bean:message key="username"/>:</td>
<td><html:text property="username"></html:text></td>
<td><html:errors/></td>
</tr>
<tr>
<td><bean:message key="password"/>: </td>
<td><html:password property="password"></html:password></td>
<td></td>
</tr>
<tr>
<td colspan="2" align="center">
<html:submit> <bean:message key="submit"/></html:submit>
</td>
</tr>
</table>
</html:form>
struts-config.xml <form-bean name="user" type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="username" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean> <action path="/login" type="com.strutsitem.action.UserAction" name="user" parameter="metdom" validate="true"></action>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
Validation.xml <form-validation>
<formset>
<form name="user">
<field property="username" depends="required">
<arg0 key="prompt.username"/>
</field>
<field property="password" depends="required">
<arg0 key="password"/>
</field>
</form>
</formset>
</form-validation>
UserAction.javapublic class UserAction extends DispatchAction
{
public ActionForward getUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DynaValidatorActionForm dvaf = (DynaValidatorActionForm) form;
System.out.println(dvaf.get("username"));
return null;
}
}ApplicationResources.properties errors.required={0} is required.
希望 大虾们 帮我解决:
问题: Validation不验证 直接进入Action.
代码:
login.jsp <html:form action="/login.do?metdom=getUser">
<table border="0">
<tr>
<td><bean:message key="username"/>:</td>
<td><html:text property="username"></html:text></td>
<td><html:errors/></td>
</tr>
<tr>
<td><bean:message key="password"/>: </td>
<td><html:password property="password"></html:password></td>
<td></td>
</tr>
<tr>
<td colspan="2" align="center">
<html:submit> <bean:message key="submit"/></html:submit>
</td>
</tr>
</table>
</html:form>
struts-config.xml <form-bean name="user" type="org.apache.struts.validator.DynaValidatorActionForm">
<form-property name="username" type="java.lang.String"></form-property>
<form-property name="password" type="java.lang.String"></form-property>
</form-bean> <action path="/login" type="com.strutsitem.action.UserAction" name="user" parameter="metdom" validate="true"></action>
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml" />
</plug-in>
Validation.xml <form-validation>
<formset>
<form name="user">
<field property="username" depends="required">
<arg0 key="prompt.username"/>
</field>
<field property="password" depends="required">
<arg0 key="password"/>
</field>
</form>
</formset>
</form-validation>
UserAction.javapublic class UserAction extends DispatchAction
{
public ActionForward getUser(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
DynaValidatorActionForm dvaf = (DynaValidatorActionForm) form;
System.out.println(dvaf.get("username"));
return null;
}
}ApplicationResources.properties errors.required={0} is required.
struts-config.xml中加入:
<message-resources parameter="ApplicationResources" />
<form-bean name="adminForm" type="org.apache.struts.validator.DynaValidatorForm">
<form-property name="password" type="java.lang.String" />
<form-property name="role" type="java.lang.String" />
<form-property name="name" type="java.lang.String" />
</form-bean> <action
attribute="adminForm"
input="/login.jsp"
name="adminForm"
parameter="method"
path="/admin"
scope="request"
type="com.gjun.struts.action.AdminAction">
<forward name="loginsuccess" path="/admin/index.jsp" />
</action>