一 安装Sitemesh框架
下载最新版本的sitemesh
1 sitemesh-2.3.jar是Sitemesh的支持包 请复制该文件到\demo\WebRoot\WEB-INF\lib目录下
2 sitemesh-decorator.tld sitemesh.page.tld是Sitemesh的标签库文件 复制该文件到\demo\WebRoot\WEB-INF目录下
二 配置Sitemesh架构
首先需要在WEB-INF/web.xml文件中配置Sitemesh 包含两个部分
1 配置Sitemesh过滤器
在web.xml中添加一个过滤器 使用类为Sitemesh的页面过滤器类com.opensymphony.module.sitemesh.filter.PageFilter,使用“/*”匹配符 表示对所有的页面进行过滤 配置如下
<filter>
<filter-name>sitemesh</filter-name>
<filter-class>
com.opensymphony.module.sitemesh.filter.PageFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>sitemesh</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2 配置Sitemesh标签库
在web.xml中添加两个Sitemesh的标签库
<taglib>
<taglib-uri>sitemesh-page</taglib-uri>
<taglib-location>
/WEB-INF/sitemesh-page.tld
</taglib-location>
</taglib>
<taglib>
<taglib-uri>sitemesh-decorator</taglib-uri>
<taglib-location>
/WEB-INF/sitemesh-decorator.tld
</taglib-location>
</taglib>
至此 sitemesh就可以发挥作用了
三 建立装饰器描述文件decorators.xml
WEB-INF/decorators.xml文件用来将一个装饰器名字同一个专门的JSP装饰文件绑定
defaultdir:指定装饰器JSP文件存放的目录
name:装饰器的名字
page:JSP装饰文件
pattern:表示要装饰的页面匹配符 “/*”表示要装饰的是所有的页面
<?xml version="1.0" encoding="ISO-8859-1" ?>
- <decorators defaultdir="/decorators">
- <decorator name="frame" page="frame.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
四 建立装饰器页面/decorators/frame.jsp
根据decorators.xml中的配置 装饰器页面位于/decotators目录下 装饰器文件名为frame.jsp 因此在该目录下建立一个JSP文件
1 在文件头部引入sitemesh的标签库 别名为decorator
2 编辑HTML的页面 根据session中是否存在用户名 来确认如何装饰页面 如果页面存在 则输出一个菜单栏 并在页面尾部输出版权信息
3 分别使用<decorator:title>、<decorator:head>、<decorator:body>来取得被装饰页面的<title>、<head>、<body>3个部分的内容 加入到装饰器中
<%@ page import="com.demo.struts.util.Constants"%>
<%@ taglib uri="http://www.opensymphony.com/sitemesh/decorator"
prefix="decorator"%>
<html>
<head>
<title>Demo - <decorator:title default="Welcome!" /></title>
<decorator:head />
</head>
<body>
<div align="center"><%if (session.getAttribute(Constants.USERNAME_KEY) != null) {%>
<table width="100%">
<tr>
<td><img src="images/logo4.png"></td>
<td><img src="images/logo2.png" height="90"></td>
</tr>
<tr>
<td colspan="2">
<hr>
</td>
</tr>
<tr>
<td>
<table>
<tr>
<td><a href="welcome.do">Main</a></td>
</tr>
<tr>
<td><a href="menu1.do">Menu1</a></td>
</tr>
<tr>
<td><a href="menu2.do">Menu2</a></td>
</tr>
<tr>
<td><a href="menu3.do">Menu3</a></td>
</tr>
<tr>
<td><a href="menu4.do">Menu4</a></td>
</tr>
<tr>
<td><a href="menu5.do">Menu5</a></td>
</tr>
<tr>
<td><a href="menu6.do">Menu6</a></td>
</tr>
<tr>
<td><a href="menu7.do">Menu7</a></td>
</tr>
<tr>
<td><a href="menu8.do">Menu8</a></td>
</tr>
</table>
</td>
<td><decorator:body /></td>
</tr>
</table>
<%} else {%> <decorator:body /> <%}%>
<hr>
2007copyright abc@163.com</div>
</body>
</html>
分享到:
相关推荐
**Sitemesh框架** Sitemesh的工作原理是通过拦截HTTP请求,将页面内容包裹在预先定义的装饰模板中。装饰模板可以包含页头、页脚、侧边栏等元素,确保整个网站有一致的布局。Sitemesh使用`<decorator>`标签来定义装饰...
通过整合Struts2与SiteMesh,开发者可以在保持Struts2框架的灵活性的同时,利用SiteMesh实现一致且美观的页面布局设计。 #### 配置基础 要使Struts2与SiteMesh协同工作,首先需要确保项目中包含了以下三个库文件:...
SiteMesh框架在Java项目中的应用 SiteMesh是一个非常优秀的页面装饰器框架,它将页面共用的内容放在装饰器页面中,通过对所有用户请求和服务器响应进行过滤,把装饰器中指定的共用内容插入到被装饰页面中,从而形成...
通过深入研究这个源码,开发者可以学习到如何有效地使用Struts2、Sitemesh和FreeMarker来构建复杂的Web应用,理解它们的内部工作原理,以及如何优化和扩展这三个组件。这对于提升Java Web开发技能和理解MVC架构有极...
2. **配置Struts2**:在struts.xml配置文件中,添加SiteMesh插件的配置,使Struts2知道需要使用SiteMesh进行页面装饰: ```xml <constant name="struts.action.excludePattern" value="/decorator.*"/> ...
在“sitemesh框架简单例子”这个教程中,我们将深入理解Sitemesh的基本概念和用法。 首先,我们需要了解Sitemesh的工作原理。Sitemesh通过拦截HTTP请求,对返回的HTML内容进行装饰。它使用一种叫做装饰器...
Struts2、Spring2.5 和 SiteMesh 是Java Web开发中的三个重要框架,它们共同构建了一个强大且灵活的Web应用程序架构。在这个小DEMO中,我们将深入探讨这三个框架的集成和工作原理。 **Struts2** 是一个基于MVC...
**Sitemesh框架解析** Sitemesh则专注于页面布局,它的主要功能是在各个独立的页面之上添加统一的头部、底部、侧边栏等元素,实现页面的装饰效果。Sitemesh通过装饰器(Decorator)模式工作,可以在不修改原有JSP...
struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业
要将Struts2和Sitemesh整合,我们需要两个关键的组件:Sitemesh框架本身(在这个例子中是版本2.4.2)和Struts2的Sitemesh插件(版本2.1.8)。这两个组件的集成使得Struts2能够自动将Sitemesh应用于其返回的页面,...
4. **与Struts、Spring MVC等框架兼容**:Sitemesh可以很好地与其他MVC框架集成,提供统一的页面布局。 **使用Sitemesh的优点**: 1. **代码组织**:将页面的结构和内容分离,有利于团队协作和代码维护。 2. **重用...
而Struts2 SiteMesh 插件则使得整合 SiteMesh 和 Struts2 框架变得更加方便,让开发者可以充分利用 SiteMesh 的功能来提升用户体验。 首先,我们需要理解 Struts2 是一个基于 Model-View-Controller(MVC)设计模式...
Struts2.0 和 Sitemesh 是两种在Java Web开发中广泛应用的技术,它们结合使用能够增强应用程序的用户体验和页面布局管理。Struts2.0 是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级的...
在这个项目中,SiteMesh框架被用于页面布局和装饰,提供了更高效的页面设计和管理方式。Ajax技术则被用来实现页面的异步更新,提升用户体验。 1. Spring框架:Spring作为核心的依赖注入(DI)和面向切面编程(AOP)...
**Sitemesh框架详解** Sitemesh是一款开源的Web页面布局和装饰框架,它主要用于解决Web应用中的页面统一风格和布局的问题。Sitemesh通过拦截HTTP请求,将页面内容与预定义的模板相结合,实现页面的美化和标准化,极...
- **sitemesh资料整理.chm**:这可能是一个包含Sitemesh详细信息的CHM帮助文件,提供了框架的使用指南和技术细节。 - **SiteMesh教程.doc**:这是一份Word文档,可能详细介绍了如何使用Sitemesh,包括基本概念、...
Struts2、Spring2、Hibernate3、Velocity和Sitemesh是经典的Java Web开发框架组合,它们各自在Web应用的不同层面提供了强大的支持。这个集成框架代码集合了这些技术,旨在提供一个高效、灵活和可扩展的开发环境。 1...
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。 它不仅仅能处理动态的...