云自無心水自閑

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

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

          然后在property.ftl中可以使用FreeMarker來定義新的模板(FreeMarker的具體語法可以查看FreeMarker的官方網(wǎng)站,相當?shù)脑敿氁锥?:
          <#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做模板創(chuàng)建一個struts2自定義標簽  回復  更多評論   

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

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

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

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

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

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

          2009-03-24 14:26 by 路過
          好好好
          主站蜘蛛池模板: 镇巴县| 水城县| 宜都市| 莱阳市| 平泉县| 宁化县| 孟州市| 关岭| 岗巴县| 崇文区| 朔州市| 东平县| 大新县| 略阳县| 皋兰县| 新平| 高陵县| 化州市| 奉新县| 固始县| 阜阳市| 德惠市| 棋牌| 楚雄市| 许昌县| 木里| 始兴县| 务川| 上林县| 正定县| 邛崃市| 苏尼特左旗| 沂源县| 龙井市| 宣汉县| 韩城市| 拉孜县| 嘉峪关市| 孝义市| 阜阳市| 樟树市|