http://www.opensymphony.com/sitemesh/index.html
Site Mesh
是open symphony团队开发的j2ee应用框架之一,是一个用来在JSP中实现页面布局和装饰(layout and decoration)的框架组件,能够帮助网站开发人员较容易实现页面中动态内容和静态装饰外观的分离,旨在提高页面的可维护性和复用性。
Site Mesh
是开源的,可以在www.sf.net下找到。
Site mesh应用Decorator模式,用filter截取request和response,把页面组件head ,content
,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, style sheet,
scripts and footer,现在,在site mesh的帮助下,我们可以删除他们了。下面是一个使用SiteMesh
实现页面内容的简单事例(参考的是其他网络上的帖子)。
需要的文件有:
sitemesh
.jar
|
WEB-INF/lib
|
sitemesh
-decorator.tld
|
WEB-INF
|
sitemesh
-page.tld
|
WEB-INF
|
Web.xml中添加相关内容:
<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>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
建立
WEB-INF/decorators.xml
描述各装饰器页面。
<decorators defaultdir="/decorators">
<excludes>
<pattern>/docs/api/*</pattern>
</excludes>
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
建立装饰器页面
WEB-INF/
decorators
/
main.jsp:
<%@ taglib uri="sitemesh-decorator" prefix="decorator" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/web.css"></link>
<link rel="stylesheet" type="text/css" href="${pageContext.request.contextPath}/css/jmesa.css"></link>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.2.2.pack.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery.bgiframe.pack.js"></script>
<script type="text/javascript" src="${pageContext.request.contextPath}/js/jmesa.js"></script>
<title>JMesa</title>
<decorator:head/>
</head>
<body>
<div style="height:75px;background-repeat:repeat-x;background-image: url('${pageContext.request.contextPath}/images/header.png')">
<a href="${pageContext.request.contextPath}/index.jsp">
<img id="header" src="${pageContext.request.contextPath}/images/logo.png" alt="logo" />
</a>
</div>
<div id="content">
<decorator:body/>
</div>
</body>
</html>
分享到:
相关推荐
在"**sitemesh入门demo**"中,我们将学习如何设置和使用Sitemesh来创建一个简单的Web应用程序。这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细...
在这个"SiteMesh入门示例"中,我们将探讨如何使用 SiteMesh 来实现这些功能。 首先,让我们理解 SiteMesh 的核心概念。SiteMesh 包含了两个主要部分:`Decorator` 和 `Filter`。`Decorator` 是一个 HTML 页面,定义...
Sitemesh 是一个开源的网页布局和装饰框架,它用于Java Web应用程序,能够帮助开发者实现页面的统一布局和风格。通过使用Sitemesh,开发者可以将页面的头部、内容区和侧边栏等组件进行分离,然后在不改变各个具体...
**Sitemesh装饰器入门** Sitemesh 是一个开源的 Web 应用程序框架,它主要用来帮助开发者实现页面布局和装饰功能。Sitemesh 的核心概念是“装饰器”,这个概念源自于软件设计模式中的装饰者模式。通过使用 Sitemesh...
Sitemesh是一款强大的Web页面布局和装饰框架,它主要用于帮助开发者实现网站的统一外观和...通过这个简单的入门教程,你可以快速掌握Sitemesh的基本操作,并将其应用到自己的项目中,提升网站的用户体验和设计品质。
- **SiteMesh学习入门.jpg**:可能是介绍Sitemesh基本概念的流程图或者关键步骤的截图。 - **sitemesh2003.ppt**:这可能是一个PowerPoint演示文稿,包含了2003年的Sitemesh介绍或教程。 - **sitemesh.rar** 和 *...
这个“sitemesh简单demo”是一个使用 Maven 构建的项目,旨在提供一个快速入门的示例,帮助初学者理解并掌握 sitemesh 的基本用法。 在 Web 开发中,sitemesh 通过拦截 HTTP 请求,将用户定义的页面模板(通常称为...
入门的demo...siteMesh与freemarker结合。。 siteMesh与velocity结合。。并且在siteMesh.xml用了不同的装饰器。。每个装饰器都有注释。。可以帮助理解。。请看readme.txt
README.txt 文件是项目的基本指南,它通常包含项目的基本信息、安装步骤、快速入门指南和使用注意事项。对于 Sitemesh,此文件可能会解释如何集成 Sitemesh 到现有的 Web 应用中以及如何配置其装饰器模板。 4. **...
- `README.txt`: 提供了关于 Sitemesh 的基本介绍、安装和使用指南,是快速入门的参考文档。 - `LICENSE.txt`: 描述了 Sitemesh 的许可协议,通常为 Apache 2.0 或 GPL,表明软件的使用权限和限制。 - `build.xml...
**SiteMesh介绍** SiteMesh是一个基于Web的页面布局和装饰框架,主要目的是为大型Web应用程序提供一致的页面布局和外观。它使用了设计模式中的Decorator模式,能够将页面的装饰部分(如头部、底部、侧边栏等)与...
其中还用到了sitemesh技术。 是初学者入门的一个好例子。 功能流程描述: 因为是入门的小例子,数据库表只用了一个表。 数据库:test 表: user 字段: id,username,password 就是一个输入用户名和密码,如果正确...
**Grails入门指南** Grails,作为一款强大的Web应用程序开发框架,因其高效、灵活和便捷的特点,深受开发者喜爱。它采用Groovy动态编程语言作为主要的编写工具,为开发人员提供了一个快速构建复杂Web应用程序的平台...
- **强大的生态系统**:基于Hibernate(ORM)、Spring框架(MVC、依赖注入)和SiteMesh(界面布局管理)等成熟技术构建。 - **目标用户**: - 已经熟悉Java的开发者,希望通过Groovy语言提高开发效率。 - 希望在...
《Grails入门指南》知识点详解 一、Grails概述与特性 Grails是一个基于Groovy的Web应用开发框架,融合了敏捷开发理念与Java技术生态的成熟性。它旨在简化Web应用的开发流程,减少重复编码,提倡约定优于配置的原则...
表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。.. 表现层框架struts 2:讲解struts 2...
表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。.. 表现层框架struts 2:讲解struts 2...
表现层框架struts 1:讲解struts 1的入门配置、核心组件、标签库、国际化、数据校验、sitemesh集成、数据库开发技术,并分别实现与hibernate、ibatis持久层框架的集成开发。.. 表现层框架struts 2:讲解struts 2...