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标签等。
分享到:
相关推荐
Sitemesh 3 的使用及配置
sitemesh3-demo 配置说明参见http://blog.csdn.net/thc1987/article/details/6913416
sitemesh3的一个demo,附带配置说明
sitemesh3包括lib,api,demo,配置说明,希望大家喜欢
概述 Struts 2.0提供一个Sitemesh插件... 缺省情况下,sitemesh假定装饰器文件保存在应用上下文根路径下的decorators目录下,如果采用如上配置,装饰器文件应该是ftl格式,如果需要使用其他格式,需要更改过滤器配置。
这是我的这篇博文的源码:SpringMVC与SiteMesh2.4无缝整合并借助JSR303规范实现表单验证,博文地址:http://blog.csdn.net/jadyer/article/details/7574668
struts2+sitemesh例子 该例子描述了struts2+sitemesh的配置,比较实用
刚上手ssm及maven时一直会问基础配置,以下可做参考,sitemesh标签的使用
页面框架 布局,使用方便,已经配置好了,包也在里面
sitemesh 将网页逆向包含,不用每个页面include公共页面,而是配置后将所有页面被公共页面自动组合起来
sitemesh框架解说,含详细配置步骤
详细讲述了sitemesh的各种配置方式,不错的资源,看了就会用了
sitemesh-2.4.2.jar //2* spring-beansjar //1 spring-context.jar //1 spring-core.jar //1 spring-dao.jar //3 spring-hibernate3.jar //3 spring-jdbc.jar //3 spring-web-2.5.6.jar //1 struts2-core-2.1.6.jar ...
基于struts2.1.6 ssh+sitemesh
3.更改web.xml文件,在适当地方加下: (1) filter配置: <filter-name>sitemesh com.opensymphony.module.sitemesh.filter.PageFilter <filter-name>sitemesh <url-pattern>/* (2)标签库配置: ...
6. 支持与SiteMesh相配合,由SiteMesh来支持页面布局的重用。 7. 内建有与Spring的集成,集成起来非常容易。 8. 配置文件完全基于标准的web.xml,不需要额外的配置文件。大量使用默认配置,一般情况下足以满足常见...
springMVC的基本配置、及sitemesh、log4j2配置
请求被提交到一系列(主要是3层)的过滤器(Filter),如(ActionContextCleanUp、其他过滤器(SiteMesh等)、 FilterDispatcher)。注意:这里是有顺序的,先ActionContext CleanUp,再其他过滤器(Othter ...
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
(5)sitemesh_blank:构建Sitemesh环境的jar、tld、xml及装饰文件样例; (6)dbcp_blank:构建DBCP环境的jar文件,及struts-config.xml连接样例; (7)hibernate_blank:构建Hibernate环境的jar文件,及配置文件...