<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    hk2000c技術(shù)專欄

    技術(shù)源于哲學(xué),哲學(xué)來源于生活 關(guān)心生活,關(guān)注健康,關(guān)心他人

      BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      111 隨筆 :: 1 文章 :: 28 評(píng)論 :: 0 Trackbacks

    以 BaseCommandController 為例
    protected void initApplicationContext() {
      if (this.validators != null) {
       for (int i = 0; i < this.validators.length; i++) {
        if (this.commandClass != null && !this.validators[i].supports(this.commandClass))
         throw new IllegalArgumentException("Validator [" + this.validators[i] +
           "] does not support command class [" +
           this.commandClass.getName() + "]");
       }
      }
     }

    子類配置如下

     <bean id="addNewsController" class="AddNewsController" scope="request">
            <property name="formView" value="/management/news/addNews"/>
            <property name="validator" ref="beanValidator"/>
            <property name="successView" value="forward:/management/news/newsList.html"/>
            <property name="commandClass" value="News"/>
            <property name="commandName" value="news"/>
        </bean>

    public final void setValidator(Validator validator) {
      this.validators = new Validator[] {validator};
     }

    設(shè)置Validator數(shù)組

    在初始化的時(shí)候,檢驗(yàn) 是否支持command 類型
    this.validators[i].supports(this.commandClass)

    此support 為 org.springframework.validation.Validator 的所有 實(shí)現(xiàn)類的 方法,檢驗(yàn)支持檢驗(yàn)類的動(dòng)作。


    舉例 配置
     <bean id="beanValidator" class="org.springmodules.validation.commons.DefaultBeanValidator">
            <property name="validatorFactory" ref="validatorFactory"/>
        </bean>

    DefaultBeanValidator extends AbstractBeanValidator implements Validator

    再看實(shí)現(xiàn)方法

       /**
         * Checks if the validatorFactory is configured to handle this class.  Will
         * convert the class into a form name, suitable for commons validator.
         *
         * @return <code>true</code> if the validatorFactory supports the class,
         *         or <code>false</code> if not
         * @see #getFormName(Class)
         */
        public boolean supports(Class clazz) {
            boolean canSupport = validatorFactory.hasRulesForBean(getFormName(clazz), getLocale());
            if (log.isDebugEnabled()) {
                log.debug("validatorFactory " + (canSupport ? "does" : "does not")
                    + " support class " + clazz + " with form name " + getFormName(clazz));
            }
            return canSupport;
        }

    檢驗(yàn)是否支持輸入類

    另一個(gè)方法
     /**
         * If <code>useFullyQualifiedClassName</code> is false (default value), this function returns a
         * string containing the uncapitalized, short name for the given class
         * (e.g. myBean for the class com.domain.test.MyBean). Otherwise, it  returns the value
         * returned by <code>Class.getName()</code>.
         *
         * @param cls <code>Class</code> of the bean to be validated.
         * @return the bean name.
         */
        protected String getFormName(Class cls) {
            return (this.useFullyQualifiedClassName) ? cls.getName() : Introspector.decapitalize(ClassUtils.getShortName(cls));
        }
     Introspector.decapitalize(ClassUtils.getShortName(cls) 獲得按照西班牙命名法的form 名

    這個(gè)方法本意是獲得以類名為formName 的所有校驗(yàn)配置。

    實(shí)際上有一個(gè)重大的設(shè)計(jì)缺陷






    posted on 2007-10-26 00:48 hk2000c 閱讀(1848) 評(píng)論(0)  編輯  收藏 所屬分類: CMS項(xiàng)目開發(fā)
    主站蜘蛛池模板: 国产精品手机在线亚洲| 精品免费久久久久国产一区| 一本天堂ⅴ无码亚洲道久久| 免费看大黄高清网站视频在线| 青青草国产免费国产是公开| 日韩免费一区二区三区| 77777午夜亚洲| 亚洲色图综合在线| 182tv免费视视频线路一二三| 亚洲av无码偷拍在线观看| 在线精品免费视频无码的| 精品免费久久久久国产一区| 国产精品久久亚洲不卡动漫| 激情97综合亚洲色婷婷五| 手机在线免费视频| 四虎国产成人永久精品免费| 久久亚洲免费视频| 无码专区AAAAAA免费视频| 精品无码专区亚洲| 亚洲妓女综合网99| 亚洲日本va中文字幕久久| 日韩成人在线免费视频 | 日韩毛片一区视频免费| 亚洲高清不卡视频| 成人性生活免费视频| 在线看片免费人成视频福利| 亚洲va久久久噜噜噜久久男同| 在线观看人成网站深夜免费| 日韩人妻一区二区三区免费| 亚洲最大的视频网站| 亚洲国产成人精品久久久国产成人一区二区三区综 | 立即播放免费毛片一级| 亚洲国产成人精品无码区在线网站 | 亚洲AV无码专区日韩| 日本亚洲免费无线码| 久操视频免费观看| 精品无码国产污污污免费网站国产| 亚洲日本天堂在线| 亚洲手机中文字幕| 亚洲精品欧洲精品| 高清国语自产拍免费视频国产|