隨筆 - 23  文章 - 11  trackbacks - 0
          <2006年8月>
          303112345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          在WebWork中進行數據驗證其實有好幾種方式,在此我將他一一列舉出來

          一、直接在execute()方法中進行驗證


          public String execute() {
          boolean validationPassed = true;
          if (StringUtils.isBlank(user.getName())) {
          addActionError(getText("user.name.empty"));
          validationPassed = false;
          }

          if (StringUtils.isBlank(user.getAddress())) {
          addActionError(getText("user.address.empty"));
          validationPassed = false;
          }

          return (validationPassed ? SUCCESS : INPUT);
          }

          因為整個action是放入OgnlValueStack中的,頁面就可以取出這些Error,然后顯示出來,在Input對應的頁面加入如下代碼:


          <ww:if test="hasActionErrors"><!--你可以查看ActionSupport類源碼,其中有boolean hasActionErrors()這個方法-->
          <span class="errormessage">
          <b>Errors:</b><br/>
          <ww:iterator value="actionErrors">
          <li><ww:property value="value[0]"/></li>
          </ww:iterator>
          </span>
          </ww:if>


          二、是用Validateable接口提供的validate()方法進行驗證


          ActionSupport就繼承了這個接口
          public void validate() {
          if (StringUtils.isBlank(user.getName())) {
          addActionError(getText("user.name.empty"));
          }
          if (StringUtils.isBlank(user.getAddress())) {
          addActionError(getText("user.address.empty"));
          }
          }

          然后在對的action的xwork.xml配置中,使用validationWorkflowStack攔截器,并確保有input result。
          那么一旦驗證出錯將會返回input頁面,但此時并無錯誤信息提示。將第一種方式顯示錯誤信息代碼加入到input 頁面,那么錯誤信息也將顯示出來。

          三、使用WebWork的(標準形式)的驗證
          具體的步驟:


          1.建立validators.xml文件,如果沒有自己定義的校驗器則可以不用建立。
          2.建立對應action的檢驗文件。
          檢驗文件名有兩種方式
          (1)Action類名-validation.xml
          (2)Action類名-Action別名-validation.xml
          其中Action別名就是xwork.xml配置中action的name
          3.頁面使用<ww/>tag
          頁面的form和域都使用<ww/>tag方式
          4.攔截器使用validationWorkflowStack


          四、WebWork的客戶端驗證
          在使用第三種方式時候,通過對<ww:form>里面增加validate="true"即可實現客戶端驗證(在<head></head>之間增加一個<ww:head/>tag效果更好,里面包括了css的定義)

          五、DWR驗證

          posted on 2006-08-11 17:36 小小~咖啡豆 閱讀(710) 評論(0)  編輯  收藏 所屬分類: WebWork
          主站蜘蛛池模板: 嘉鱼县| 白玉县| 泸水县| 武安市| 龙州县| 荔波县| 普陀区| 邳州市| 咸丰县| 武城县| 岐山县| 元江| 奈曼旗| 肇东市| 类乌齐县| 苏尼特右旗| 平塘县| 荥阳市| 绥棱县| 革吉县| 清远市| 辽中县| 名山县| 永安市| 肥东县| 荔浦县| 安达市| 珠海市| 麻阳| 临泉县| 四会市| 白河县| 沁源县| 南平市| 宜良县| 南丹县| 自治县| 大名县| 阿克苏市| 邢台县| 客服|