sitemesh简单使用

一、简介

SiteMesh 是一个网页布局和修饰的框架,利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。

官网:http://wiki.sitemesh.org/wiki/display/sitemesh/Home

二、配置

1、下载jar包

    自行百度吧,这里就不多说明。

2、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>


3、在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>

4、在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>




三、使用

页面如何使用不同的装饰器:  

<META name="decorator" content="admin">  后台页面head部分添加这些。

<META name="decorator" content="front">  前台页面head部分添加这些。

四、原理

SiteMesh是基于Servlet的filter的,即过滤流。它是通过截取response,并进行装饰后再交付给客户。

其中涉及到两个名词: 装饰页面(decorator page)和 "被装饰页面(Content page)" , 即 SiteMesh通过对Content Page的装饰,最终得到页面布局和外观一致的页面,并返回给客户。

转载于:https://my.oschina.net/zhengweishan/blog/635506

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值