其實呢,都是自己不小心弄成的。寫個日記,算是提醒和自己一樣的朋友們被自己犯同樣的錯誤了。
因爲使用的是動態ActionForm.你就必須在原來<form-bean>裏面添加org.apache.struts.validator包裏面的API.即:把原來的:
|
<form-beans > <form-bean name="loginForm" type="com.login.struts.form.LoginForm" /> <form-bean name="registForm" type="org.apache.struts.action.DynaActionForm" dynamic="true"> <form-property name="username" type="java.lang.String" /> <form-property name="password1" type="java.lang.String" /> <form-property name="password2" type="java.lang.String" /> </form-bean> </form-beans>
<action attribute="registForm" input="/regist.jsp" name="registForm" path="/regist" scope="request" validate="true"<!--rememer true--> type="com.login.struts.action.RegistAction">
|
改成:
|
<form-beans > <form-bean name="loginForm" type="com.login.struts.form.LoginForm" /> <form-bean name="registForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="username" type="java.lang.String" /> <form-property name="password1" type="java.lang.String" /> <form-property name="password2" type="java.lang.String" /> </form-bean>
</form-beans>
|
同時也需要在XXXAction.java裏面導入這個包:
|
.....
import org.apache.struts.validator.DynaValidatorForm; public class RegistAction extends Action { /* * Generated Methods */
/** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward * @throws Exception */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { DynaValidatorForm dyform = (DynaValidatorForm)form;// TODO Auto-generated method stub
String username = (String)dyform.get("username"); String password1 = (String)dyform.get("password1"); String password2 = (String)dyform.get("password2");
........
|
還需要在struts-config.xml添加struts插件
|
<plug-in className="org.apache.struts.validator.ValidatorPlugIn"> <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validation.xml"/> <set-property property="stopOnFirstError" value="false"/> </plug-in>
|
如果還是不行的話,可以看看lib裏面添加了jakarta-ora.jar以及common-validator.jar兩個jar文件了沒有。如果沒有的話可以到網絡上下載http://commons.apache.org