爪哇之家

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
            35 隨筆 :: 29 文章 :: 8 評論 :: 0 Trackbacks

          環境:使用fm是2.3.9,webwork2.2.4(使用切換語法):
          一:作為components組件的參數如果值為字符串,則需要在字符串上加上單引號。
          <ww:component template="checkboxlist_portraitCols.ftl">
          ?<ww:param name="name" value="'test'" /><!--注意單引號-->
          ?<ww:param name="colCnt" value="4" />
          ?<ww:param name="list" value="{'1','2','3','4','5','6'}" />
          </ww:component>

          二:終于理解freemaker的多值類型。

          <#if (parameters.list?size%parameters.colCnt)?int==0>:求余數是否為0,必須加上內置方法int。

          freemaker內置了chunk分塊的方法,但是我始終沒有想到怎么將這個快按縱向進行排列。橫向好說,直接按行輸出。因此寫下列模板代碼來實現。


          <#assign itemCount = 0/>
          <#if parameters.list??>?
          ?<#assign width=(100/parameters.colCnt)?int>
          ?
          ?<#assign itemCount = itemCount + 1/>

          ?<#assign rowCnt=0/>
          ?<#assign colCnt=0/>
          ?<#list parameters.list?chunk(parameters.colCnt) as row>
          ??<#assign rowCnt=rowCnt+1/>
          ??<tr>
          ??<#list row as cell>
          ???<#assign itemCount = itemCount + 1/>
          ???<#assign colCnt=colCnt+1/>
          ???<#if rowCnt==0 && col<parameters.colCnt-1 >
          ????<td width='${width}%'>
          ???<#else>
          ????<td>
          ???</#if>
          ???<#if parameters.listKey??>
          ????<#assign itemKey = cell[parameters.listKey]/>
          ???<#else>
          ???? <#assign itemKey = cell/>
          ???</#if>
          ???
          ???<#if parameters.listValue??>
          ???? <#assign itemValue = cell[parameters.listValue]/>
          ???<#else>
          ???? <#assign itemValue = cell/>
          ???</#if>
          ???<#assign itemKeyStr=itemKey.toString() />
          ????<input type="checkbox" name="${parameters.name?html}" value="${itemKeyStr?html}" id="${parameters.name?html}-${itemCount}"<#rt/>
          ???<#if tag.contains(parameters.nameValue, itemKey)>
          ????checked="checked"<#rt/>
          ???</#if>
          ???<#if parameters.disabled!(false)>
          ????disabled="disabled"<#rt/>
          ???</#if>
          ???/>
          ???<label for="${parameters.name?html}-${itemCount}" class="checkboxLabel">${itemValue?html}</label>
          ???</td>???
          ??</#list>
          ?</#list>?
          <#else>
          ? &nbsp;
          </#if>

          jsp引用頁面測試代碼:
          <table width="80%">
          <ww:component template="checkboxlist_landscapeCols.ftl">
          ?<ww:param name="name" value="'test'" />
          ?<ww:param name="colCnt" value="4" />
          ?<ww:param name="list" value="{'1','2','3','4','5','6'}" />
          </ww:component>
          </table>
          posted on 2008-05-31 08:31 爪哇之家 閱讀(250) 評論(0)  編輯  收藏
          主站蜘蛛池模板: 南木林县| 邢台县| 景洪市| 隆林| 霸州市| 滦平县| 霍林郭勒市| 左权县| 察雅县| 荃湾区| 佛冈县| 莱西市| 彰化县| 鹤壁市| 多伦县| 龙川县| 讷河市| 漳平市| 长顺县| 浦城县| 章丘市| 贵阳市| 阳高县| 汝州市| 南充市| 元朗区| 安宁市| 广元市| 台江县| 湾仔区| 调兵山市| 永安市| 高安市| 蒙阴县| 枞阳县| 兴隆县| 绥江县| 西峡县| 尚义县| 云阳县| 沽源县|