sitemesh簡單使用

1、簡介

SiteMesh 是一個網頁佈局和修飾的框架,利用它能夠將網頁的內容和頁面結構分離,以達到頁面結構共享的目的。css

官網:http://wiki.sitemesh.org/wiki/display/sitemesh/Homehtml

2、配置

一、下載jar包

    自行百度吧,這裏就很少說明。
web

二、web.xml配置

<!-- sitemesh 過濾器 注意:若是和其餘技術一塊兒使用好比springmvc必定要注意順序-->
<filter>
    <filter-name>sitemesh</filter-name>
    <filter-class>com.opensymphony.sitemesh.webapp.SiteMeshFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>sitemesh</filter-name>
    <url-pattern>/*</url-pattern>
 </filter-mapping>


三、在WEB-INF/新建一個decorators.xml文件,包含如下內容:

<?xml version="1.0" encoding="UTF-8"?>
<decorators >
    <decorator name="front" page="/common/front">  //前臺頁面母版頁
        <pattern>/front/*</pattern>
    </decorator>
    <decorator name="admin" page="/common/admin"> //後臺頁面母版頁
        <pattern>/admin/*</pattern>
    </decorator>
    <excludes> //那些文件不使用母版頁
        <pattern>*.js</pattern>
        <pattern>*.css</pattern>
        <pattern>*.gif</pattern>
        <pattern>*.jpg</pattern>
    </excludes>
</decorators>

四、在WEB-INF/新建一個sitemesh.xml文件,包含如下內容:

<sitemesh>
    <property name="decorators-file" value="/WEB-INF/decorators.xml"/>
    <excludes file="${decorators-file}"/>
    <page-parsers>
        <parser content-type="text/html" class="com.opensymphony.module.sitemesh.parser.HTMLPageParser"/>
    </page-parsers>
    <decorator-mappers>
        <mapper class="com.opensymphony.module.sitemesh.mapper.ParameterDecoratorMapper">
            <param name="decorator.parameter" value="decorator"/>
            <param name="parameter.name" value="confirm"/>
            <param name="parameter.value" value="true"/>
        </mapper>
        <mapper class="com.opensymphony.module.sitemesh.mapper.PageDecoratorMapper">
            <param name="property.1" value="decorator" />
            <param name="property.2" value="meta.decorator" />
        </mapper>
  <!--       <mapper class="com.opensymphony.module.sitemesh.mapper.AbstractDecoratorMapper">
            <param name="config" value="${decorators-file}"/>
        </mapper> -->
        <mapper class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
            <param name="config" value="${decorators-file}"/>
        </mapper>
    </decorator-mappers>
</sitemesh>




3、使用

頁面如何使用不一樣的裝飾器:  spring

<META name="decorator" content="admin">  後臺頁面head部分添加這些。mvc

<META name="decorator" content="front">  前臺頁面head部分添加這些。app

4、原理

SiteMesh是基於Servlet的filter的,即過濾流。它是經過截取response,並進行裝飾後再交付給客戶。框架

其中涉及到兩個名詞: 裝飾頁面(decorator page)和 "被裝飾頁面(Content page)" , 即 SiteMesh經過對Content Page的裝飾,最終獲得頁面佈局和外觀一致的頁面,並返回給客戶。webapp

相關文章
相關標籤/搜索