云自無心水自閑

          天平山上白云泉,云自無心水自閑。何必奔沖山下去,更添波浪向人間!
          posts - 288, comments - 524, trackbacks - 0, articles - 6
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          首先,在web項目的頁面根目錄下建立目錄template
          然后創建目錄simple和xhtml,以上的目錄名是struts2缺省使用的,不同的主題使用相應的目錄。然后再創建一個components目錄,在這個目錄下,創建一個property.ftl。 最后的目錄結構如下:
          template/simple/components/property.ftl
          template/xhtml/components/property.ftl

          然后在property.ftl中可以使用FreeMarker來定義新的模板(FreeMarker的具體語法可以查看FreeMarker的官方網站,相當的詳細易懂):
          <#include "/${parameters.templateDir}/${parameters.theme}/controlheader.ftl" />
          <@s.if test="${parameters.value} == null || ${parameters.value} == '' ">&nbsp;</@s.if>
          <@s.else><@s.property value="${parameters.value}" /></@s.else>
          <#include "/${parameters.templateDir}/xhtml/controlfooter.ftl" />

          以上是一個我自定義的模板,檢測結果是否為空字符串,如果是空的話,就輸出一個&nbsp; 這樣在輸出結果時表格的邊框線就是完整的了。

          定義好之后,在jsp頁面中就可以這樣使用了:

          <s:component template="/components/property.ftl" theme="simple">
            <s:param name="value" value="%{'bookName'}"/>
          </s:component>

          第一行中的目錄名從自components開始,struts2會自動在template目錄下去尋找,如是主題是simple, 就在simple目錄下找。
          另外,param的語法要注意一下,%{}里面需要加一對引號



          評論

          # re: 用freemarker做模板創建一個struts2自定義標簽  回復  更多評論   

          2008-04-12 08:21 by 漠漠
          輸出結果時表格的邊框線問題的根源是CSS樣式定義的問題,樓主這樣做只會更麻煩

          # re: 用freemarker做模板創建一個struts2自定義標簽  回復  更多評論   

          2008-04-12 13:08 by usherlight
          @漠漠
          hehe,我這里主要是用這個例子來說明自定義標簽的過程和方法。

          # re: 用freemarker做模板創建一個struts2自定義標簽  回復  更多評論   

          2008-06-01 19:17 by 曾偉杭印

          # re: 用freemarker做模板創建一個struts2自定義標簽  回復  更多評論   

          2009-03-24 14:26 by 路過
          好好好
          主站蜘蛛池模板: 宿迁市| 铁岭市| 新龙县| 昌都县| 安岳县| 彭水| 蕉岭县| 新竹县| 建宁县| 兴义市| 玉溪市| 始兴县| 西林县| 梅州市| 蓬安县| 巴塘县| 浏阳市| 东莞市| 文昌市| 榆树市| 翼城县| 湾仔区| 玉林市| 禹州市| 汽车| 红河县| 黑龙江省| 达拉特旗| 岑巩县| 缙云县| 西和县| 江山市| 革吉县| 栾城县| 无锡市| 来凤县| 邵阳市| 文昌市| 上林县| 新宁县| 汝州市|