數據加載中……
          sitemesh 簡單入門 之二
          2008年4月16日  Edited By DingDangXiaoMa 
           (1)printable 裝飾及 page 用法。
          當要打印頁面內容時,不想要一些邊邊框框。只關注想要的內容,設置為printable decorators 即可。
          sitemesh 設置方法如下:
          setemesh.xml
          <mapper class="com.opensymphony.module.sitemesh.mapper.PrintableDecoratorMapper">
                      <param name="decorator" value="printable" />
                      <param name="parameter.name" value="printable" />
                      <param name="parameter.value" value="true" />
          </mapper>
          上面代碼為設置  打印的屬性及參數。?printable=true鏈接到打印模式上。
          decorators.xml
           <decorator name="printable" page="printable.jsp"/>
          功能:將name="printable" 的裝飾映射到printable.jsp上。
          printable.jsp
          <%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator" prefix="decorator" %>
          <html>
              
          <head>
                  
          <title><decorator:title default="NO Title" /></title>
                  
          <decorator:head />
              
          </head>
              
          <body>
                  
          <h1><decorator:title  default="No Title"/></h1>
                  
          <p align="right"><i>(printable version)</i></p>
                  
          <decorator:body />
              
          </body>
          </html>
          這是參照官方上的例子的printable.jsp.注意。當鏈接指向時,沒有標題時,顯示No Title .當沒有body部分時,則會出現null point error(我出現了這個錯誤,不知道是不是我機子的問題)
          按照上述配置后:當訪問:http://localhost/sitemesh/index.jsp?printable=true 時,就只能顯示index.jsp未被修飾的數據。
          再進行修改就是在頁面上加一個超級鏈接到些頁面打印狀態。
          在decorators/main.jsp中加入以下代碼;
                  <decorator:usePage id="p" />
                  
          <%
                      HttpServletRequest req 
          = p.getRequest();
                      StringBuffer printUrl 
          = new StringBuffer();
                      printUrl.append( req.getRequestURI() );
                      printUrl.append(
          "?printable=true");
                      
          if (request.getQueryString()!=null) {
                          printUrl.append(
          '&');
                          printUrl.append(request.getQueryString());
                      }
                  
          %>
                  
          <p align="right"><a href="<%= printUrl %>">printable version</a> ]</p>
          這樣就在每個頁面都添加上了,打印式的超級鏈接。 <decorator:usePage id="p" /> 是獲得了頁面的page對象。
          (2)page:applyDecorator 用法:把某一個頁面進行某種樣式的映射。<page:applyDecorator page="*.jsp" name="*" />
          把*.jsp映射到decorators.xml 中定義的* 裝飾上。
          例子:
          <page:applyDecorator name="panel" page="/date.jsp" >


          posted on 2008-04-16 18:07 叮當小馬 閱讀(346) 評論(0)  編輯  收藏 所屬分類: OpenSymphony


          只有注冊用戶登錄后才能發表評論。


          網站導航:
          博客園   IT新聞   Chat2DB   C++博客   博問  
           
          主站蜘蛛池模板: 随州市| 墨脱县| 怀来县| 汉川市| 武义县| 深圳市| 搜索| 方正县| 铜山县| 莒南县| 那坡县| 胶南市| 竹溪县| 珲春市| 临清市| 会理县| 蕲春县| 承德县| 华蓥市| 临朐县| 收藏| 忻城县| 张家港市| 永川市| 将乐县| 志丹县| 西华县| 日土县| 万荣县| 阳东县| 油尖旺区| 西峡县| 鲁甸县| 兴海县| 伊春市| 南平市| 嘉定区| 唐山市| 民勤县| 博湖县| 沙湾县|