博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助
隐藏
yexin218.cublog.cn
validator驗證框架不起作用
其實呢,都是自己不小心弄成的。寫個日記,算是提醒和自己一樣的朋友們被自己犯同樣的錯誤了。
因爲使用的是動態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

发表于: 2007-11-06,修改于: 2007-11-06 16:35,已浏览978次,有评论0条 推荐 投诉

给我留言
版权所有 ChinaUnix.net 页面生成时间:1.90868