無聊人士

          搬家==》www.soapui.cn

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            32 隨筆 :: 0 文章 :: 60 評論 :: 0 Trackbacks
          使用ww2的validator,taglib就只能使用xhtml了。taglib我一向討厭,再加上ww2 xhtml這套做得非常難看,自做主張的加一堆table、td之類的html標簽進去。

          看了一下xhtml的velocity模板,如果檢驗未通過,ww2將validators.xml中相應field檢驗失敗的message是放進fieldErrors里面的。

          checkbox.vm
          #if( $fieldErrors.get($parameters.name) )
            #set ($hasFieldErrors = $fieldErrors.get($parameters.name))
            #foreach ($error in $fieldErrors.get($parameters.name))
              <tr>
                  <td align="left" valign="top" colspan="2"><span class="errorMessage">$!error</span></td>
              </tr>
            #end
          #end

          <tr>
              <td valign="top" colspan="2">
          #* Use an extra table so that the checkbox doesn't align with the other columns. *#
          <table width="100%" border="0" cellpadding="0" cellspacing="0">
              <tr>
                  <td valign="middle">#parse("/template/simple/checkbox.vm")</td>
                  <td width="100%" valign="middle"><label #if ($parameters.id) for="$!webwork.htmlEncode($parameters.id)"#end#if ($hasFieldErrors) class="checkboxErrorLabel"#else class="checkboxLabel"#end>$!webwork.htmlEncode($parameters.label)</label></td>
              </tr>
          </table>
          #parse("/template/xhtml/controlfooter.vm")

          我使用的模板引擎是freemarker,參照xhtml的vm代碼,自己寫了個marco。

          <#macro validError local>
              <#if req.method=='POST'>
                  <#if
                      fieldErrors?has_content &&
                      fieldErrors[local]?exists
                  >
                      <br>
                      <font color="red">
                          <#list fieldErrors[local] as error>
                              ${error}
                          </#list>
                      </font>
                  </#if>
              </#if>
          </#macro>

          模板示例:
                      <tr>
                          <td width="80" align="right">登錄密碼:</td>
                          <td>
                          <input type="password" name="model.password"
                              value="${model.password?if_exists}" size="24">
                          <@validError local="model.password"/>
                          </td>
                      </tr>
          posted on 2005-11-18 12:07 mmwy 閱讀(1412) 評論(0)  編輯  收藏 所屬分類: WebWork、Struts2、FreeMarker
          主站蜘蛛池模板: 锦屏县| 海原县| 洛浦县| 玉树县| 栾川县| 田林县| 富民县| 理塘县| 高台县| 曲靖市| 奉新县| 泰和县| 乌兰察布市| 南汇区| 乌拉特前旗| 金寨县| 辉南县| 马关县| 恩施市| 达尔| 应城市| 彰化市| 大渡口区| 乐清市| 柳州市| 海伦市| 平邑县| 泽库县| 铜梁县| 龙里县| 澎湖县| 台北市| 赤城县| 南宫市| 泽州县| 永清县| 峨山| 达尔| 康马县| 荥经县| 新安县|