SiteMesh框架

    OS(OpenSymphony)的SiteMesh是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离。利用它可以将网页的内容和页面结构分离,以达到页面结构共享的目的。

    步骤一:导入jar包,sitemesh-xx.jar到WEB-INFO/lib下

    步骤二:在web.xml中加入sitemesh过滤器,如下
<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>

如果与struts整合,则还需在此过滤器前加struts-cleanup过滤器,如下
<!-- 在部署之前,先清除环境 --> 
   <filter> 
       <filter-name>struts-cleanup</filter-name> 
       <filter-class> 
         org.apache.struts2.dispatcher.ActionContextCleanUp  
       </filter-class> 
   </filter> 
    <filter-mapping> 
       <filter-name>struts-cleanup</filter-name> 
        <url-pattern>/*</url-pattern> 
    </filter-mapping>
然后再加struts的过滤器,如下:
<!-- 部署filter的名称以及对应的类 --> 
    <filter> 
        <filter-name>Struts2</filter-name> 
        <filter-class> 
            org.apache.struts2.dispatcher.FilterDispatcher  
        </filter-class> 
    </filter> 
    <!-- 配置filter对呀的url模式 --> 
    <filter-mapping> 
        <filter-name>Struts2</filter-name> 
        <url-pattern>*.action</url-pattern> 
    </filter-mapping>

    步骤三:在WEB-INFO下创建decorators.xml文件,指定修饰器,如下:

<decorators defaultdir="/decorators">
    <!-- Any urls that are excluded will never be decorated by Sitemesh -->
    <excludes>
        <pattern>/exclude.jsp</pattern>
        <pattern>/exclude/*</pattern>
    </excludes>

    <decorator name="main" page="mainDecorate.jsp">
        <pattern>/*</pattern>
    </decorator>
</decorators> 
 defaultdir="/decorators"指定了修饰器页面所在的文件夹

    步骤四:编写修饰器页面

你可能感兴趣的:(sitemesh)