siteMesh 学习

siteMesh 学习

 

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

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

 

 

第一步:

下载sitemesh3.0à sitemesh-3.0.zip

将其中disk文件下的sitemesh-3.0-alpha-2.jar导入/WEB-INF/lib 目录下

 

第二步:

新建装饰页  decorator.jsp 一般为模版

修改:

<sitemesh:writeproperty='title'></sitemesh:write></title>

<sitemesh:writeproperty='head'></sitemesh:write></title>

<sitemesh:writeproperty='body'></sitemesh:write></title>

 

第三步:

新建被装饰页

 

第四步:

新建配置文件(sitemesh3.xml )

<?xml version="1.0" encoding="UTF-8"?>
<sitemesh>
  <mapping path="/*" decorator="/decorator.jsp"/>

</sitemesh> 

 

第五步:

 Web.Xml 添加过滤器设置

 <filter>
    <filter-name>sitemesh</filter-name>
    <filter-
class>org.sitemesh.config.ConfigurableSiteMeshFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>sitemesh</filter-name>
  
  <url-pattern>/*</url-pattern>
  
</filter-mapping>
</web-app>

 

备注:添加空的代码

第一步:新建AddTagSitemesh.java

packagecom.lbs.util;

importorg.sitemesh.SiteMeshContext;

importorg.sitemesh.content.ContentProperty;

importorg.sitemesh.content.tagrules.TagRuleBundle;

importorg.sitemesh.content.tagrules.html.ExportTagToContentRule;

importorg.sitemesh.tagprocessor.State;

public class AddTagSitemesh implements TagRuleBundle {

     @Override

     public void install(State defaultState, ContentProperty contentProperty,

              SiteMeshContext siteMeshContext) {

         defaultState.addRule("first",newExportTagToContentRule(contentProperty.getChild("first"),false));//添加一个空 first

         defaultState.addRule("second",new ExportTagToContentRule(contentProperty.getChild("second"),false)); //添加一个空 second

     }

     @Override

     public void cleanUp(State defaultState, ContentProperty contentProperty,

              SiteMeshContext siteMeshContext) {

     }

}

第二步:sitemesh.xml中的sitemesh标签中添加

<content-processor>

       <tag-rule-bundle

       <class="com.lbs.util.AddTagSitemesh"/>

</content-processor>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值