隨筆 - 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 小小~咖啡豆 閱讀(715) 評論(0)  編輯  收藏 所屬分類: WebWork
          主站蜘蛛池模板: 木里| 谷城县| 新乡县| 格尔木市| 平顶山市| 许昌市| 眉山市| 延吉市| 兴仁县| 板桥市| 南丹县| 芦山县| 翁牛特旗| 梨树县| 肇源县| 盐亭县| 洪江市| 屏山县| 定南县| 昆山市| 双辽市| 伊通| 田阳县| 济阳县| 鸡泽县| 乐昌市| 乌兰浩特市| 宁蒗| 武功县| 齐齐哈尔市| 正安县| 无棣县| 裕民县| 长春市| 汕尾市| 南丹县| 建水县| 剑河县| 阿克苏市| 庄河市| 嘉定区|