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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          在WebWork中進(jìn)行數(shù)據(jù)驗(yàn)證其實(shí)有好幾種方式,在此我將他一一列舉出來

          一、直接在execute()方法中進(jìn)行驗(yàn)證


          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);
          }

          因?yàn)檎麄€action是放入OgnlValueStack中的,頁面就可以取出這些Error,然后顯示出來,在Input對應(yīng)的頁面加入如下代碼:


          <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()方法進(jìn)行驗(yàn)證


          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。
          那么一旦驗(yàn)證出錯將會返回input頁面,但此時并無錯誤信息提示。將第一種方式顯示錯誤信息代碼加入到input 頁面,那么錯誤信息也將顯示出來。

          三、使用WebWork的(標(biāo)準(zhǔn)形式)的驗(yàn)證
          具體的步驟:


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


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

          五、DWR驗(yàn)證

          posted on 2006-08-11 17:36 小小~咖啡豆 閱讀(710) 評論(0)  編輯  收藏 所屬分類: WebWork
          主站蜘蛛池模板: 建水县| 通辽市| 鄂伦春自治旗| 安泽县| 临安市| 铜川市| 寻乌县| 民权县| 苏尼特右旗| 潞城市| 洛宁县| 股票| 昆山市| 开鲁县| 广河县| 疏勒县| 墨脱县| 剑河县| 金溪县| 金门县| 方山县| 东光县| 彭山县| 和林格尔县| 巴马| 上饶县| 昌平区| 平阳县| 稻城县| 紫云| 永丰县| 巴南区| 芮城县| 沂水县| 普格县| 布拖县| 云浮市| 平果县| 盐津县| 攀枝花市| 汕尾市|