`
guoyiqi
  • 浏览: 1001603 次
社区版块
存档分类
最新评论

SiteMesh3配置

 
阅读更多

SiteMesh3 支持两种主要的配置: XML 和 Java,甚至两者可以共用。

 

XML Java
  • 容易上手
  • 配置更改时可以自动重载
  • 不需要懂得java编程 
  • 更灵活的制定 
  • 不需要多余的配置文件
  • 可以使用JRuby, Groovy, Scala等语言配置

 

 

 

基于xml的配置

配置文件需放置于/WEB-INF/sitemesh3.xml ,如

<sitemesh>
  <mapping path="/*" decorator="/decorator.html"/>
  <mapping path="/admin/*" decorator="/admin-decorator.html"/>
</sitemesh>

 

 

 

基于java的配置

必须编写一个过滤器,继承org.sitemesh.config.ConfigurableSiteMeshFilter 且重载applyCustomConfiguration方法,如

public class MySiteMeshFilter extends ConfigurableSiteMeshFilter {
  @Override
  protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
    builder.addDecoratorPath("/*", "/decorator.html")
           .addDecoratorPath("/admin/*", "/admin/decorator.html");
  }
}

 

 

如果xml和java两个配置方法共用,sitemesh3在调用applyCustomConfiguration()方法前会先加载xml的配置。

 

 

配置渲染

  • 给所有路径配置一个默认的渲染
  • 给特殊的路径配置一个渲染
  • 给某个路径配置多个渲染,一个渲染依赖于前面的渲染
  • 排除某个路径

xml

<sitemesh>

  <!-- 配置默认的渲染器. 将应用于所有路径. -->
  <mapping decorator="/default-decorator.html"/>

  <!-- 配置特定路径的渲染器. -->
  <mapping path="/admin/*" decorator="/another-decorator.html"/>
  <mapping path="/*.special.jsp" decorator="/special-decorator.html"/>

  <!-- 配置多个渲染器. -->
  <mapping>
    <path>/articles/*</path>
    <decorator>/decorators/article.html</decorator>
    <decorator>/decorators/two-page-layout.html</decorator>
    <decorator>/decorators/common.html</decorator>
  </mapping>

  <!-- 不被渲染的路径. -->
  <mapping path="/javadoc/*" exclue="true"/>
  <mapping path="/brochures/*" exclue="true"/>

</sitemesh>

 java

public class MySiteMeshFilter extends ConfigurableSiteMeshFilter {
  @Override
  protected void applyCustomConfiguration(SiteMeshFilterBuilder builder) {
            // 配置默认的渲染器. 将应用于所有路径.
    builder.addDecoratorPath("/*", "/default-decorator.html")
           // 配置特定路径的渲染器.
           .addDecoratorPath("/admin/*", "/another-decorator.html")
           .addDecoratorPath("/*.special.jsp", "/special-decorator.html")
           // 配置多个渲染器.
           .addDecoratorPaths("/articles/*", "/decorators/article.html", 
                                             "/decoratos/two-page-layout.html", 
                                             "/decorators/common.html")
           // 不被渲染的路径.
           .addExcludedPath("/javadoc/*")
           .addExcludedPath("/brochures/*");
  }
}

 

对于大多数情况,上面的配置就足够使用了。还有更高级的应用,如配置MIME类型,在页面里嵌入tag标签等。

分享到:
评论
5 楼 Gozs_cs_dn 2015-04-18  
请问下博主, 怎样将sitemesh3.xsd绑定 sitemesh3.xml 中进行验证呢
4 楼 guoyiqi 2012-05-02  
hquxiezk 写道
配置多个渲染器用途是什么?

便于分模块管理
3 楼 hquxiezk 2012-04-26  
配置多个渲染器用途是什么?
2 楼 zhouxuejo 2012-03-07  
挺好的。装饰页面标签是怎么加的?
1 楼 dalianfox 2011-11-11  
 
不错,对我有帮助

相关推荐

    Sitemesh 3 的使用及配置

    ### Sitemesh 3 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...

    sitemesh3-demo

    在提供的压缩包文件`sitemesh3`中,可能包含了Sitemesh3的库文件、示例项目的源代码、配置文件和其他相关资源。通过学习和分析这些文件,你可以更深入地理解Sitemesh3的工作原理和使用方法,进一步提升你在Web开发中...

    sitemesh3官方下载包

    4. **配置说明**:这部分通常是一份文档,详细解释了如何配置Sitemesh3以适应不同的Web应用环境。它可能包括XML配置文件的示例,以及关于如何在web.xml中设置过滤器和初始化参数的指导。 Sitemesh3的核心功能包括:...

    sitemesh3demo附配置说明

    `sitemesh3demo附配置说明`这个主题涉及到的是一个使用Sitemesh3框架的演示项目,其中包含了配置的详细指南。Sitemesh是一个开源的Web应用程序模板引擎和页面装饰框架,它主要用来帮助开发者实现网页布局、样式统一...

    SpringMVC-Freemarker_Sitemesh3例子

    4. **配置Sitemesh3**:在`web.xml`中配置Sitemesh Filter,设置装饰器路径和排除的URL。 5. **创建Controller**:编写SpringMVC的Controller,使用注解如`@RequestMapping`来处理HTTP请求,并返回Freemarker模板的...

    sitemesh3包

    在配置 Sitemesh3 时,开发者需要在 Web 应用的配置文件(如 web.xml)中设置过滤器,指定 Sitemesh3 的初始化参数,并配置装饰规则。同时,还需要在项目中创建装饰模板文件,定义页面的布局结构。 总结起来,...

    springmvc + mybatis + sitemesh3登陆 超简洁例子mysql

    7. **项目结构**:根据压缩包中的"springmvc"文件名,我们可以推测项目可能包含Spring MVC的相关配置、MyBatis的Mapper文件、Sitemesh3的配置、以及数据库连接和业务逻辑相关的Java类。具体的目录结构通常包括src/...

    java sitemesh 页面框架

    2. 配置web.xml:在`web.xml`中配置Sitemesh Filter,指定过滤器的类名和初始化参数。 3. 创建装饰器模板:创建`.jsp`或`.html`文件作为装饰器,定义页面的通用结构。 4. 应用装饰器:可以通过`@Decorate`注解或在`...

    sitemesh技术的应用.doc

    下面,我们将深入探讨Sitemesh技术的基本概念、工作原理、配置与使用方法,以及其实现网页修饰的具体步骤。 ### 基本概念 Sitemesh技术的核心是一种页面装饰技术,通过特定的过滤器(filter)机制拦截页面请求,...

    sitemesh教程

    - **使用sitemesh-blank.war**:也可以直接使用预打包好的`sitemesh-blank.war`文件作为起点,该文件包含了SiteMesh的基本配置。 ##### 2. 添加SiteMesh库 - 将`siteMesh-2.4.1.jar`文件拷贝到项目的`[web-app]/...

    SiteMesh

    3. **配置SiteMesh**: 在`sitemesh.xml`中指定布局文件的位置和装饰策略。 4. **标记页面内容**: 在需要装饰的JSP或HTML页面中添加特殊的SiteMesh注释或标签,告知SiteMesh如何插入到布局文件中。 5. **运行应用**...

    SiteMesh教程及SiteMesh官方文档翻译

    然后,可以在`web.xml`中配置Sitemesh过滤器,并在Spring配置文件中配置Freemarker视图解析器。 下面是一个简单的例子,展示了如何在Spring MVC项目中同时使用Sitemesh和Freemarker。 **`web.xml`配置** ```xml ...

    sitemesh3插件

    2. **配置web.xml**:在Web应用的配置文件web.xml中,需要添加Sitemesh3的Filter配置,指定装饰器的位置以及如何应用装饰。 3. **创建装饰模板**:创建一个或多个HTML模板文件,定义页面的通用结构,如header.html...

    sitemesh

    3. **配置文件(sitemesh.properties)**:sitemesh的配置文件用于定义装饰策略,包括哪些URL应该被装饰,以及使用哪个模板进行装饰。 4. **模板语言(Decorator Templates)**:sitemesh支持自定义模板语言,允许...

    siteMesh demo+文档

    3. **定义装饰模板**:SiteMesh允许你创建一个或多个装饰模板,这些模板定义了页面的结构,如页眉、页脚、侧边栏等。你可以使用HTML或者JSP来编写模板。 4. **应用装饰**:通过在JSP页面中使用特殊的注解(例如`&lt;@...

    sitemesh框架简单例子

    接下来,配置Sitemesh。这通常在web.xml文件中完成,你需要设置过滤器来启动Sitemesh,并指定哪些页面需要被装饰。默认情况下,Sitemesh会装饰所有HTML内容,但你可以通过配置过滤器来指定特定的URL模式。 然后,...

    sitemesh入门demo

    - 接着,在Web应用的`web.xml`配置文件中,需要配置Sitemesh的过滤器,以启用Sitemesh的页面装饰功能。 2. **Sitemesh工作原理** - 当用户请求一个Web页面时,Sitemesh过滤器会捕获请求,判断是否需要装饰该页面...

    springMVC与sitemesh的结合

    3. **创建布局模板**:在Sitemesh中,我们定义一个主布局文件,比如`layout.jsp`,它包含了页面的通用结构,如页头、页脚和侧边栏。然后,在Spring MVC的视图层(通常是JSP页面),我们可以指定该布局作为父模板,...

    SiteMesh2.3很全的一个资料

    3. **配置文件(siteMesh.xml)**:SiteMesh 的配置文件用于定义装饰器的规则,比如哪些URL应该被特定的装饰器处理,以及如何处理不匹配的请求。 4. **自定义装饰器(Decorator)**:开发者可以根据需求创建自己的...

Global site tag (gtag.js) - Google Analytics