5、 在WEB-INF下面建立文件sitemesh.xml,用来告诉框架,什么类型需要用到什么解析器,用到什么映射器,(这个文件可以不加)代码如下
<sitemesh>
<property name="decorators-file" value="/WEB-INF/decorators.xml" />
<excludes file="${decorators-file}" />
<page-parsers>
<parser default="true"
class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
<parser content-type="text/html"
class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
<parser content-type="text/html;charset=UTF-8"
class="com.opensymphony.module.sitemesh.parser.HTMLPageParser" />
</page-parsers>
<decorator-mappers>
<mapper
class="com.opensymphony.module.sitemesh.mapper.ConfigDecoratorMapper">
<param name="config" value="${decorators-file}" />
</mapper>
</decorator-mappers>
</sitemesh>
SiteMesh有一个概念,叫做修饰器映射,实现这个概念的接口是DecoratorMapper(有init()和getDecorator()方法)。映射器在sitemesh.xml里声明。在sitemesh.xml文件里,每一个映射器都是它上一个映射器的父映射。当SiteMesh需要一个修饰器来修饰页面的时候,会在sitemesh.xml里查找映射器,生成找到的第一个映射器的实例并调用getDecorator()方法,在这个方法里尝试查找针对那个页面的修饰器。如果找到了就返回;否则,调用父映射器的getDecorator()方法,反复进行这个过程,直到找到正确的修饰器。
6、web目录下建一个index.jsp
<%@ page contentType="text/html; charset=GBK"%>
<html>
<head>
<title>index</title>
</head>
<body>
<p>这是index页面的body.</p>
</body>
</html>
7、访问index.jsp

更多的实例可以下载官方的实例。
https://sitemesh.dev.java.net/files/documents/887/129894/sitemesh-example.war
8、再来说说第一节提到的例子,百度和google在一起的例子

例子在上面简单的实例上,做以下几件事。
1)、添加一个panel适配器,修改decorators.xml如下
<!-- 指定 main装饰器,该装饰器使用main.jsp页面 -->
<decorator name="main" page="main.jsp">
<!-- main装饰器装饰所有的页面 -->
<pattern>/*</pattern>
</decorator>
<!—_不会被装饰的路径-->
<excludes>
<pattern>/js/*</pattern>
<pattern>/images/*</pattern>
<pattern>/css/*</pattern>
</excludes>
<!—- 没有指定pattern的适配器,不会自动装饰页面 ,可以通过page:applyDecorator来指定 -->
<decorator name="panel" page="panel.jsp"/>
分享到:
相关推荐
**2. SiteMesh工作原理** 当用户访问一个Web应用时,SiteMesh Filter首先捕获到请求。然后,Filter会根据URL规则决定是否需要应用装饰。如果需要,它会读取指定的布局文件,并将页面内容插入到相应的位置。最后,...
**Sitemesh简介** Sitemesh 是一个开源的 Web 应用程序装饰框架,主要用于解决网页布局和页面统一风格的问题。它通过拦截 HTTP 请求,将请求的页面内容与预先定义好的模板结合,使得开发者可以轻松地创建出统一的...
#### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者在不改变业务逻辑代码的情况下...
#### 一、Sitemesh简介 Sitemesh是一个非常实用且功能强大的Web页面布局和装饰框架,适用于多种Web应用程序,包括但不限于Java(JSP)、PHP、ASP等技术栈下的应用。它能够有效地帮助开发者统一Web应用的界面风格,...
#### 二、集成Freemarker与Sitemesh ##### 1. 配置工程环境 - **创建Web项目**:首先,需要创建一个新的Web项目,例如命名为`freemarkerWeb`。 - **添加依赖库**:下载并安装Struts2及相关JAR包至项目的`lib`目录下...
#### 一、简介 SiteMesh是一个强大的Web页面布局工具,它允许开发者在Web应用中使用模板化的设计来构建网页。通过使用SiteMesh,可以很容易地实现对整个网站外观的统一控制,而无需对每个单独的页面进行修改。此...
#### 一、SiteMesh项目简介 SiteMesh 是 OpenSymphony 组织推出的一款强大的 Web 页面布局与装饰框架。该框架的核心价值在于它能够帮助开发者轻松地实现动态内容与静态装饰元素的分离,从而提升网站的整体视觉效果...
2. **配置SpringMVC**:在`web.xml`中配置DispatcherServlet,设置视图解析器为FreemarkerViewResolver,并开启SpringMVC的注解驱动。 3. **配置Freemarker**:在Spring配置文件中,设置FreemarkerConfigurer,指定...
**1.1 SiteMesh简介** SiteMesh是一个基于Java、J2EE和XML的开源框架,主要用于网站内容的装饰和布局管理。当一个企业级Web站点需要整合多种技术(如J2EE、CGI或Microsoft IIS Server)时,如何保持站点的整体一致...
### 第二章 SITEMESH 实例讲解 1. **工程的导入**:将SiteMesh的jar包添加到项目的类路径中,然后在web应用的`WEB-INF`目录下创建配置文件,包括`web.xml`、`sitemesh.xml`和`decorators.xml`。 2. **配置文件的...
### 第二章 SITEMESH 实例讲解 1. **工程的导入**: 在导入SiteMesh到你的项目后,需要在web.xml中配置SiteMesh Filter,这是SiteMesh工作的关键。配置完成后,Filter会拦截所有的HTTP请求,根据配置文件对页面...
**Sitemesh简介** Sitemesh是一款开源的Web应用程序装饰框架,主要用于网页布局和样式统一。它通过在服务器端对HTTP响应进行拦截,将页面内容与装饰模板结合,实现页面的统一外观和感觉。Sitemesh的核心功能是帮助...
#### 一、Sitemesh简介与应用场景 Sitemesh是一个强大的Web页面布局工具,它允许开发者轻松地实现网站布局的设计与维护。通过Sitemesh,我们可以方便地将网页内容与布局分离,从而达到更好的可维护性和复用性。 ##...
4. **与第三方库集成**:Struts2能够无缝集成Spring框架,SiteMesh用于页面布局,Tiles用于视图管理,以及OGNL(Object-Graph Navigation Language)作为表达式语言。 5. **强大的标签库**:Struts2提供了基于主题...
1.2.8 SiteMesh页面布局框架简介 17 1.3 我们为什么要用Struts2 17 1.4 Web项目中使用Struts2初探 20 第2章 Web基础技术简介 31 2.1 B/S和C/S系统区别 31 2.2 JSP和Servlet介绍 32 2.3 XML知识介绍 34 第3章 Struts2...
- SiteMesh 页面布局框架简介:SiteMesh可以集成到Struts2,实现统一的页面布局。 第 2 章:Web基础技术简介 2.1 B/S 和 C/S 系统区别 B/S(Browser/Server)架构基于浏览器和服务器交互,而C/S(Client/Server)...
- 为了解决这些问题,Apache软件基金会推出了第二代Struts框架——Struts2。 - **Struts2的“简历”**: - Struts2于2005年由Apache软件基金会推出。 - Struts2不仅继承了Struts1的优点,还吸收了WebWork等其他...
1.2.8 SiteMesh页面布局框架简介 SiteMesh是一个用于Web应用的页面布局框架,Struts2可以与SiteMesh结合使用,实现页面布局的统一和标准化。 1.3 我们为什么要用 Struts2 尽管有其他现代框架出现,但Struts2仍因其...
SiteMesh 是一个用于网页布局的工具,与Struts2集成后,可以方便地实现全局页面样式和结构的统一。 1.3 **我们为什么要用 Struts2** Struts2 提供了完整的MVC架构,降低了代码耦合,提高了开发效率,且有丰富的...