posts - 19, comments - 53, trackbacks - 0, articles - 283
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          SiteMesh 全部標(biāo)簽

          Posted on 2010-05-11 22:29 Gavin.lee 閱讀(425) 評(píng)論(0)  編輯  收藏 所屬分類: SiteMesh 頁面裝飾組件

          1.Decorator Tags 被用于建立裝飾器頁面.
          <decorator:head />
          <decorator:body />
          <decorator:title />
          <decorator:getProperty />
          <decorator:usePage />

          2.Page Tags 被用于從原始內(nèi)容頁面訪問裝飾器.
           <page:applyDecorator />
          <page:param/>
           
          <decorator:head />

          插入原始頁面(被包裝頁面)的head標(biāo)簽中的內(nèi)容(不包括head標(biāo)簽本身)。

          <decorator:body />
          插入原始頁面(被包裝頁面)的body標(biāo)簽中的內(nèi)容。

          <decorator:title [ default="..." ] />

          插入原始頁面(被包裝頁面)的title標(biāo)簽中的內(nèi)容,還可以添加一個(gè)缺省值。

          例:

          /_decorator/main.jsp中 (裝飾器頁面): <title><decorator:title default="卻省title-hello"  /> - 附加標(biāo)題</title>

          /aaa.jsp中 (原始頁面):<title>aaa頁面</title>

          訪問/aaa.jsp的結(jié)果:<title>aaa頁面 - 附加標(biāo)題</title>

          <decorator:getProperty property="..." [ default="..." ] [ writeEntireProperty="..." ]/>

          在標(biāo)簽處插入原始頁面(被包裝頁面)的原有的標(biāo)簽的屬性中的內(nèi)容,還可以添加一個(gè)缺省值。

          sitemesh文檔中的例子很好理解:
          The decorator: <body bgcolor="white"<decorator:getProperty property="body.onload" writeEntireProperty="true" />>
          The undecorated page: <body onload="document.someform.somefield.focus();">
          The decorated page: <body bgcolor="white" onload="document.someform.somefield.focus();">

          注意,writeEntireProperty="true"會(huì)在插入內(nèi)容前加入一個(gè)空格。

          <decorator:usePage id="..." />
          象jsp頁面中的<jsp:useBean>標(biāo)簽一樣,可以使用被包裝為一個(gè)Page對(duì)象的頁面。 (懶的用)

          例:可用<decorator:usePage id="page" /> :<%=page.getTitle()%>達(dá)到<decorator:title/>的訪問結(jié)果。 

          <page:applyDecorator name="..." [ page="..." title="..." ] >
          <page:param name="..."> ... </page:param>
          <page:param name="..."> ... </page:param>
          </page:applyDecorator>

          應(yīng)用包裝器到指定的頁面上,一般用于被包裝頁面中主動(dòng)應(yīng)用包裝器。這個(gè)標(biāo)簽有點(diǎn)不好理解,我們來看一個(gè)例子:

          包裝器頁面 /_decorators/panel.jsp:<p><decorator:title /></p>  ... <p><decorator:body /></p>
            并且在decorators.xml中有<decorator name="panel" page="panel.jsp"/>

          一個(gè)公共頁面,即將被panel包裝:/_public/date.jsp: 
            ... <%=new java.util.Date()%>  ...<decorator:getProperty property="myEmail" />

          被包裝頁面 /page.jsp :
            <title>page的應(yīng)用</title>
            ..... 
            <page:applyDecorator name="panel" page="/_public/date.jsp" >
              <page:param name="myEmail"> chen_p@neusoft.com </page:param>
            </page:applyDecorator>


          最后會(huì)是什末結(jié)果呢?除了/page.jsp會(huì)被默認(rèn)的包裝頁面包裝上header,footer外,page.jsp頁面中還內(nèi)嵌了date.jsp頁面,并且此date.jsp頁面還會(huì)被panel.jsp包裝為一個(gè)title加body的有2段的頁面,第1段是date.jsp的title,第2段是date.jsp的body內(nèi)容。

          另外,page:applyDecorator中包含的page:param標(biāo)簽所聲明的屬性值還可以在包裝頁面中用decorator:getProperty標(biāo)簽訪問到。


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 屯昌县| 宜州市| 乌鲁木齐县| 镇康县| 望城县| 都安| 嘉禾县| 平安县| 吴桥县| 上饶市| 郯城县| 施秉县| 龙陵县| 托里县| 景德镇市| 抚州市| 新蔡县| 明溪县| 双牌县| 新化县| 沁源县| 泾源县| 永州市| 朝阳市| 关岭| 怀仁县| 南召县| 玉环县| 格尔木市| 秭归县| 苗栗市| 五莲县| 平果县| 西贡区| 苏州市| 永城市| 霍山县| 长岭县| 台前县| 都昌县| 枞阳县|