數據加載中……
          sitemesh 簡單入門 之三
          2008年4月16日 20:45:55 Edited by DingDangXiaoMa
          sitemesh 與velocity ,freemarker 結合。(參考資料 sitemesh-example.war)
          準備:commmons-collections.jar, freemarker.jar sitemesh-2.3.jar velocity-dep-1.3.1.jar velocity-tools-view-1.1.jar
          (1)sitemesh 與velocity
          web.xml
              <servlet>
                  
          <servlet-name>sitemesh-velocity</servlet-name>
                  
          <servlet-class>
                      com.opensymphony.module.sitemesh.velocity.VelocityDecoratorServlet
                  
          </servlet-class>
                  
          <load-on-startup>10</load-on-startup>
              
          </servlet>
              
          <servlet-mapping>
                  
          <servlet-name>sitemesh-velocity</servlet-name>
                  
          <url-pattern>*.vm</url-pattern>
              
          </servlet-mapping>
          decorators/velocity.vm
          <html>
              
          <head>
                  
          <title>Velocity Decorator - $title</title>
                  
          <link href="$base/decorators/main.css" rel="stylesheet" type="text/css">
                  $head
              
          </head>
              
          <body>
                
          <div id="pageTitle">$title</div>
                
          <hr/>
                $body
                
          <div id="footer">
                    
          <b>Disclaimer:</b> This site is an example site to demonstrate SiteMesh. It serves no other purpose.
                
          </div>
              
          </body>
          </html>
          與一次的代碼是差不太多,只不過用$標記來代替以前的<decorator:title /> <decorator:body />
          編寫 WebRoot/velocity.html
          <html>
              
          <head>
                  
          <title>Velocity Test</title>
              
          </head>
              
          <body>
                  
          <p>This page is decorated by the VelocityDecoratorServlet.</p>
                  
          <p>Go <a href="index.html">back</a>.</p>
              
          </body>
          </html>
          把velocity.html映射到velocity.vm上。
          WEB-INF/decorators.xml添加如下映射.
          <decorator name="velocity" page="velocity.vm">
                  
          <pattern>/velocity.html</pattern>
          </decorator>
          再運行程序:http://localhost/sitemesh/velocity.html就可看到映射后的樣式了, sitemesh與velocity結合。
          (2) sitemesh 與freemarker
          與上例同步。
          web.xml 加入如下servlet 映射:
              <servlet>
                  
          <servlet-name>sitemesh-freemarker</servlet-name>
                  
          <servlet-class>
                      com.opensymphony.module.sitemesh.freemarker.FreemarkerDecoratorServlet
                  
          </servlet-class>
                  
          <init-param>
                      
          <param-name>TemplatePath</param-name>
                      
          <param-value>/</param-value>
                  
          </init-param>
                  
          <init-param>
                      
          <param-name>default_encoding</param-name>
                      
          <param-value>UTF-8</param-value>
                  
          </init-param>
                  
          <load-on-startup>1</load-on-startup>
              
          </servlet>
              
          <servlet-mapping>
                  
          <servlet-name>sitemesh-freemarker</servlet-name>
                  
          <url-pattern>*.ftl</url-pattern>
              
          </servlet-mapping>
          添加:decorators/freemarker.ftl
          <html>
              
          <head>
                  
          <title>Freemarker Decorator - ${title}</title>
                  
          <link href="${base}/decorators/main.css" rel="stylesheet" type="text/css">
                  ${head}
              
          </head>
              
          <body>
                
          <div id="pageTitle">${title}</div>
                
          <hr/>
                ${body}
                
          <div id="footer">
           
          <b>Disclaimer:</b> This site is an example site to demonstrate SiteMesh. It serves no other purpose.
                
          </div>
              
          </body>
          </html>
          添加:webRoot/freemarker.html
          <html>
              
          <head>
                  
          <title>Freemarker Test</title>
              
          </head>
              
          <body>
                  
          <p>This page is decorated by the FreemarkerDecoratorServlet.</p>
                  
          <p>Go <a href="index.html">back</a>.</p>
              
          </body>
          </html>
          添加兩者之間的映射:WEB-INF/decorators.xml
          <decorator name="freemarker" page="freemarker.ftl">
                  
          <pattern>/freemarker.html</pattern>
           
          </decorator>
          運行http://localhost/sitemesh/freemarker.html .即可看到結果。
          今天就到這里,先這樣吧。

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


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


          網站導航:
           
          主站蜘蛛池模板: 阿坝| 苗栗市| 汽车| 阜宁县| 高阳县| 望城县| 车险| 鄂州市| 巴青县| 太湖县| 溆浦县| 梁河县| 南丹县| 长寿区| 招远市| 海宁市| 临江市| 磴口县| 阿拉尔市| 金湖县| 大埔区| 高密市| 大兴区| 城口县| 武安市| 禹州市| 城市| 泰宁县| 丰都县| 长白| 克什克腾旗| 名山县| 科技| 密云县| 通辽市| 阿拉善盟| 永康市| 荆州市| 于都县| 祁东县| 义马市|