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 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...
在提供的压缩包文件`sitemesh3`中,可能包含了Sitemesh3的库文件、示例项目的源代码、配置文件和其他相关资源。通过学习和分析这些文件,你可以更深入地理解Sitemesh3的工作原理和使用方法,进一步提升你在Web开发中...
4. **配置说明**:这部分通常是一份文档,详细解释了如何配置Sitemesh3以适应不同的Web应用环境。它可能包括XML配置文件的示例,以及关于如何在web.xml中设置过滤器和初始化参数的指导。 Sitemesh3的核心功能包括:...
`sitemesh3demo附配置说明`这个主题涉及到的是一个使用Sitemesh3框架的演示项目,其中包含了配置的详细指南。Sitemesh是一个开源的Web应用程序模板引擎和页面装饰框架,它主要用来帮助开发者实现网页布局、样式统一...
4. **配置Sitemesh3**:在`web.xml`中配置Sitemesh Filter,设置装饰器路径和排除的URL。 5. **创建Controller**:编写SpringMVC的Controller,使用注解如`@RequestMapping`来处理HTTP请求,并返回Freemarker模板的...
在配置 Sitemesh3 时,开发者需要在 Web 应用的配置文件(如 web.xml)中设置过滤器,指定 Sitemesh3 的初始化参数,并配置装饰规则。同时,还需要在项目中创建装饰模板文件,定义页面的布局结构。 总结起来,...
7. **项目结构**:根据压缩包中的"springmvc"文件名,我们可以推测项目可能包含Spring MVC的相关配置、MyBatis的Mapper文件、Sitemesh3的配置、以及数据库连接和业务逻辑相关的Java类。具体的目录结构通常包括src/...
2. 配置web.xml:在`web.xml`中配置Sitemesh Filter,指定过滤器的类名和初始化参数。 3. 创建装饰器模板:创建`.jsp`或`.html`文件作为装饰器,定义页面的通用结构。 4. 应用装饰器:可以通过`@Decorate`注解或在`...
下面,我们将深入探讨Sitemesh技术的基本概念、工作原理、配置与使用方法,以及其实现网页修饰的具体步骤。 ### 基本概念 Sitemesh技术的核心是一种页面装饰技术,通过特定的过滤器(filter)机制拦截页面请求,...
- **使用sitemesh-blank.war**:也可以直接使用预打包好的`sitemesh-blank.war`文件作为起点,该文件包含了SiteMesh的基本配置。 ##### 2. 添加SiteMesh库 - 将`siteMesh-2.4.1.jar`文件拷贝到项目的`[web-app]/...
3. **配置SiteMesh**: 在`sitemesh.xml`中指定布局文件的位置和装饰策略。 4. **标记页面内容**: 在需要装饰的JSP或HTML页面中添加特殊的SiteMesh注释或标签,告知SiteMesh如何插入到布局文件中。 5. **运行应用**...
然后,可以在`web.xml`中配置Sitemesh过滤器,并在Spring配置文件中配置Freemarker视图解析器。 下面是一个简单的例子,展示了如何在Spring MVC项目中同时使用Sitemesh和Freemarker。 **`web.xml`配置** ```xml ...
2. **配置web.xml**:在Web应用的配置文件web.xml中,需要添加Sitemesh3的Filter配置,指定装饰器的位置以及如何应用装饰。 3. **创建装饰模板**:创建一个或多个HTML模板文件,定义页面的通用结构,如header.html...
3. **配置文件(sitemesh.properties)**:sitemesh的配置文件用于定义装饰策略,包括哪些URL应该被装饰,以及使用哪个模板进行装饰。 4. **模板语言(Decorator Templates)**:sitemesh支持自定义模板语言,允许...
3. **定义装饰模板**:SiteMesh允许你创建一个或多个装饰模板,这些模板定义了页面的结构,如页眉、页脚、侧边栏等。你可以使用HTML或者JSP来编写模板。 4. **应用装饰**:通过在JSP页面中使用特殊的注解(例如`<@...
接下来,配置Sitemesh。这通常在web.xml文件中完成,你需要设置过滤器来启动Sitemesh,并指定哪些页面需要被装饰。默认情况下,Sitemesh会装饰所有HTML内容,但你可以通过配置过滤器来指定特定的URL模式。 然后,...
- 接着,在Web应用的`web.xml`配置文件中,需要配置Sitemesh的过滤器,以启用Sitemesh的页面装饰功能。 2. **Sitemesh工作原理** - 当用户请求一个Web页面时,Sitemesh过滤器会捕获请求,判断是否需要装饰该页面...
3. **创建布局模板**:在Sitemesh中,我们定义一个主布局文件,比如`layout.jsp`,它包含了页面的通用结构,如页头、页脚和侧边栏。然后,在Spring MVC的视图层(通常是JSP页面),我们可以指定该布局作为父模板,...
3. **配置文件(siteMesh.xml)**:SiteMesh 的配置文件用于定义装饰器的规则,比如哪些URL应该被特定的装饰器处理,以及如何处理不匹配的请求。 4. **自定义装饰器(Decorator)**:开发者可以根据需求创建自己的...