通过使用SiteMesh插件,就可以在Struts2应用中使用SiteMesh装饰器页面来统一应用程序所有页面的显示风格。
1 、安装SiteMesh插件
将Struts2下的struts2-sitemesh-plugin-2.0.6.jar文件复制到Web应用的根路径下。
2、 配置web.xml
ActionContextCleanUp过滤器用来与FilterDispatcher协同工作来整合SiteMesh, 通常按下面的顺序配置。
a. ActionContextCleanUp过滤器。
b. SiteMesh核心过滤器。
c. FilterDispatcher过滤器。
<!-- 定义ActionContextCleanUp过滤器 -->
<filter>
<filter-name>struts-cleanup</filter-name>
<filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class>
</filter>
<!-- 定义SiteMesh的核心过滤器 -->
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>com.opensymphony.module.sitemesh.filter.PageFilter</filter-class>
</filter>
<!-- 定义Struts2的核心过滤器 -->
<filter>
<filter-name>struts</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<!-- 定义过滤器链 -->
<!-- 排在第一位的过滤器是:ActionContextCleanUp过滤器。 -->
<filter-mapping>
<filter-name>struts-cleanup</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 排在第二位的过滤器是:SiteMesh核心过滤器。 -->
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- 排在第三位的过滤器是:FilterDispatcher过滤器。 -->
<filter-mapping>
<filter-name>struts</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
3、 将SiteMesh的JAR包复制到lib下。
4、 定义装饰器页面。
5、 通过decorators.xml文件来配置装饰器页面。
<decorators defaultdir="/WEB-INF/decorators">
<!-- 在excludes元素下指定的页面将不会由SiteMesh来装饰 -->
<excludes>
</excludes>
<!-- 创建一个名为main的装饰器,该装饰器页面为main.jsp,
用于装饰pattern指定的URL的所有页面-->
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
<!-- 定义一个装饰器,但该装饰器默认不装饰任何页面 -->
<decorator name="panel" page="panel.jsp"/>
</decorators>
后记:
使用sitemesh装饰的页面不能被第二次装饰,否则会出现页面无法显示的问题。
被装饰的页面不能显示使用include指令,除非被sitemesh排除的。
如果使用sitemesh不熟练,做项目时感觉还是自己include来的清楚。
分享到:
相关推荐
3. **创建装饰模板**:Sitemesh 使用一个名为 `decorators` 的目录来存储装饰模板。这些模板定义了页面的通用结构,如头部、底部和侧边栏。例如,你可以创建一个 `default.jsp` 文件,其中包含你的页面布局。 4. **...
#### 使用SiteMesh简化网页布局 SiteMesh是一款用于Web应用程序中的页面布局和装饰的框架。它采用Decorator模式,通过过滤器(filter)拦截请求和响应,将不同的页面组件如头部(head)、主体内容(content)以及...
### Sitemesh 3 的使用及配置 #### 一、Sitemesh 3 简介 Sitemesh 是一个非常实用的Web页面布局与修饰框架,它通过Servlet中的Filter来实现网页的装饰功能,类似于ASP.NET中的“母版页”技术。这种技术允许开发者...
接下来是"siteMesh使用文档"。这份文档通常会涵盖以下几个关键知识点: 1. **安装SiteMesh**:这通常包括下载SiteMesh的库文件,将其添加到你的项目构建路径中(例如,如果你使用Maven,可以在pom.xml中添加对应的...
通过使用SiteMesh标签库中的标签,可以在装饰器中插入实际页面的内容,实现动态的页面装饰。 ***Mesh的基本组件: - Decorator Filter:这是SiteMesh的核心组件,负责拦截请求、传递页面内容给装饰器,并将组合后的...
2. **复杂性**:对于简单的页面布局,使用Sitemesh可能显得过度工程化。 在提供的压缩包中,"SiteMesh"可能包含了Sitemesh的源码、文档、示例项目或者其他配置文件。通过研究这些资源,你可以更好地理解和学习如何...
**Sitemesh** 是一个广泛使用的开源Web应用框架,它主要功能是提供页面布局和装饰功能,用于统一网站的外观和感觉。Sitemesh通过在Web应用中引入“母版”(Master Page)的概念,使得开发者可以轻松地创建一致性的...
要开始使用Sitemesh,你需要在你的项目中引入Sitemesh的依赖。如果你的项目是基于Maven的,可以在pom.xml文件中添加对应的依赖项。对于其他构建工具,可以找到相应的库文件并将其添加到类路径中。 接下来,配置...
要使用Sitemesh,开发者需要了解其配置文件(通常为`sitemesh.xml`),以及如何编写装饰器模板。此外,还需要熟悉如何在JSP或Servlet中使用`@decorator`注解或者`<%@ page decorator="..." %>`指令来指定装饰器。 ...
3. **创建装饰模板**:Sitemesh使用HTML文件作为装饰模板,你可以根据需求创建一个基础模板,例如`layout.html`,该模板通常包含页头、页脚、侧边栏等公共部分。 4. **设置页面内容**:对于每个需要装饰的页面,...
总结来说,"sitemesh jar包机tld文件"是SiteMesh框架在JSP页面布局中的关键组件,通过引入sitemesh-2.4.1.jar,并使用sitemesh-page.tld和sitemesh-decorator.tld定义的标签,开发者可以轻松创建和管理具有统一外观...
开发者可以通过阅读这些文档来了解如何使用Sitemesh3提供的接口和类,以便在自己的代码中集成Sitemesh3的功能。 3. **demo** 目录:这是一个示例应用程序,展示了Sitemesh3如何与实际的Web应用结合使用。通过分析和...
在配置和使用Sitemesh3时,开发者需要了解以下几个核心概念: 1. **装饰器(Decorator)**: 装饰器是Sitemesh的核心,它是一个HTML页面,用于定义网站的通用布局。例如,你可以创建一个包含头部、主体和尾部的装饰...
- **使用sitemesh-blank.war**:也可以直接使用预打包好的`sitemesh-blank.war`文件作为起点,该文件包含了SiteMesh的基本配置。 ##### 2. 添加SiteMesh库 - 将`siteMesh-2.4.1.jar`文件拷贝到项目的`[web-app]/...
下面,我们将深入探讨Sitemesh技术的基本概念、工作原理、配置与使用方法,以及其实现网页修饰的具体步骤。 ### 基本概念 Sitemesh技术的核心是一种页面装饰技术,通过特定的过滤器(filter)机制拦截页面请求,...
将Spring MVC与Sitemesh结合使用,可以实现更高效的Web应用开发。以下是对这一结合的详细说明: 1. **Sitemesh的引入**:首先,我们需要在项目中引入Sitemesh的依赖。这通常通过在Maven的pom.xml文件中添加Sitemesh...
在"**sitemesh入门demo**"中,我们将学习如何设置和使用Sitemesh来创建一个简单的Web应用程序。这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细...
- **更强大的过滤器**:在Servlet容器中,Sitemesh 使用过滤器拦截请求和响应,增强了对页面装饰的控制。 - **API改进**:提供了更为简洁、易于使用的API,便于开发者进行定制和扩展。 - **性能优化**:相比之前的...