數據加載中……
          使用sitemesh建立復合視圖1
          簡介:
          sitemesh應用Decorator模式,用filter截取request和response,把頁面組件head,content,banner結合為一個完整的視圖。通常我們都是用include標簽在每個jsp頁面中來不斷的包含各種header, stylesheet, scripts and footer,現在,在sitemesh的幫助下,我們可以開心的刪掉他們了。如下圖,你想輕松的達到復合視圖模式,那末看完本文吧。

           

          hello sitemesh:
          1. 在WEB-INF/web.xml中copy以下filter的定義:
            <filter>
                                        <filter-name>sitemesh</filter-name>
                                        <filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
                                        </filter>
                                        <filter-mapping>
                                        <filter-name>sitemesh</filter-name>
                                        <url-pattern>/*</url-pattern>
                                        </filter-mapping>
                                        <taglib>
                                        <taglib-uri>sitemesh-decorator</taglib-uri>
                                        <taglib-location>/WEB-INF/sitemesh-decorator.tld</taglib-location>
                                        </taglib>
                                        <taglib>
                                        <taglib-uri>sitemesh-page</taglib-uri>
                                        <taglib-location>/WEB-INF/sitemesh-page.tld</taglib-location>
                                        </taglib>
                                        

          2. copy所需jar和dtd文件至相應目錄,訪問opensymphony.sourceforge.net的cvs以獲取sitemesh最新版本。
            sitemesh.jar WEB-INF/lib
            sitemesh-decorator.tld WEB-INF
            sitemesh-page.tld WEB-INF

          3. 建立WEB-INF/decorators.xml描述各裝飾器頁面(可仿照sitemesh例子)。
            <decorators defaultdir="/_decorators">
                                        <decorator name="main" page="main.jsp">
                                        <pattern>*</pattern>
                                        </decorator>
                                        </decorators>



          4. 建立裝飾器頁面 /_decorators/main.jsp
            <%@ page contentType="text/html; charset=GBK"%>
                                        <%@ taglib uri="sitemesh-decorator" prefix="decorator" %>
                                        <html>
                                        <head>
                                        <title><decorator:title default="裝飾器頁面..." /></title>
                                        <decorator:head />
                                        </head>
                                        <body>
                                        sitemesh的例子<hr>
                                        <decorator:body />
                                        <hr>chen56@msn.com
                                        </body>
                                        </html>
                                        


          5. 建立一個的被裝飾頁面 /index.jsp(內容頁面)
            <%@ page contentType="text/html; charset=GBK"%>
                                        <html>
                                        <head>
                                        <title>Agent Test</title>
                                        </head>
                                        <body>
                                        <p>本頁只有一句,就是本句.</p>
                                        </body>
                                        </html>

          最后訪問index.jsp,將生成如下頁面:

          而且,所有的頁面也會如同index.jsp一樣,被sitemesh的filter使用裝飾模式修改成如上圖般模樣,卻不用再使用include標簽。

          posted on 2009-10-26 12:50 mingruofei 閱讀(66) 評論(0)  編輯  收藏


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


          網站導航:
           
          主站蜘蛛池模板: 紫金县| 砀山县| 长泰县| 祁连县| 五常市| 万州区| 商水县| 延寿县| 平顶山市| 腾冲县| 安国市| 吉安县| 郑州市| 合江县| 岑巩县| 新竹市| 岗巴县| 红河县| 马山县| 郎溪县| 祁门县| 元氏县| 大港区| 青川县| 博兴县| SHOW| 邻水| 本溪市| 华亭县| 封丘县| 景宁| 平原县| 澄江县| 宣城市| 比如县| 海原县| 图们市| 凤庆县| 泸定县| 民乐县| 河间市|