1.在javaweb中加入 sitemesh-2.4.2.jar
2.在webroot下建立decorators 文件夹
3.建立 装饰器文件
leftRight.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title><decorator:title default="装饰器页面"/></title>
<decorator:head/>
</head>
<body>
<div>
<ul style="list-style: none">
<li style="float: left;width:100px;height:180px;border-right:solid 1px gray;padding-left:10px;text-align:left;">
<font style="font-weogjt:bold;">歌曲列表</font>
<br/><br/>
<a href="text.jsp">浪子心声</a><br/>
<a href="#">如果有一天</a><br/>
<a href="#">跟我两辈子</a><br/>
<a href="#">流浪</a><br/>
<a href="#">天意</a><br/>
<a href="#">爱火烧不尽</a><br/>
<a href="#">兄弟</a><br/>
<a href="#">暗里着迷</a><br/>
<a href="#">来生缘</a><br/>
</li>
<li>
<decorator:body/>
</li>
</ul>
</div>
</body>
</html>
topbottom.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="decorator" uri="http://www.opensymphony.com/sitemesh/decorator" %>
<%@ taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page" %>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title><decorator:title default="装饰器页面"/></title>
<decorator:head/>
</head>
<body>
<center>
<div>
<page:applyDecorator page="/test.jsp" name="leftRight"/>
</div>
<hr/>
<div>
<decorator:body/>
</div>
</center>
</body>
</html>
test.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>使用SiteMesh框架</title>
</head>
<body>
<center>
<div>
<span style="color:green;font-weight:bold;">
浪子心声<br/>
刘德华<br/>
难分真与假人面多险诈<br/>
几许有共享荣华檐畔水滴不分差<br/>
难分真与假人面多险诈<br/>
几许有共享荣华檐畔水滴不分差<br/>
难分真与假人面多险诈<br/>
几许有共享荣华檐畔水滴不分差<br/>
难分真与假人面多险诈<br/>
几许有共享荣华檐畔水滴不分差<br/>
难分真与假人面多险诈<br/>
几许有共享荣华檐畔水滴不分差<br/>
难分真与假人面多险诈<br/>
几许有共享荣华檐畔水滴不分差<br/>
</span>
</div>
</center>
</body>
</html>
moreSongs.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>SiteMesh框架</title>
</head>
<body>
<center>
<div>
<a href="#">
更多歌曲点击这里<br/>
中国最大的音乐网站
</a>
</div>
</center>
</body>
</html>
5.在web-inf 下建立 decorators.xml 配置装饰器文件的修饰的请求
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/decorators">
<decorator name="topBottom" page="topBottom.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="leftRight" page="leftRight.jsp"/>
</decorators>
6.在web.xml中加入sitemesh的框架拦截器
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<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>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
7.访问 http://localhost:8080/SiteMesh/moreSongs.jsp
分享到:
相关推荐
通过深入学习和实践这个“sitemesh框架简单例子”,你将能够熟练地运用Sitemesh来构建更加专业且美观的Web应用。 总的来说,Sitemesh是一个强大且灵活的工具,它简化了Web页面布局的管理,让开发者能够专注于业务...
### Sitemesh简单教程页面装配器 #### 一、Sitemesh概述 Sitemesh是一款用于Web应用中的页面布局管理工具,它通过采用装饰器(Decorator)设计模式,实现了对Web页面布局的灵活管理和重用。传统的Web开发中,...
这个“sitemesh简单demo”是一个使用 Maven 构建的项目,旨在提供一个快速入门的示例,帮助初学者理解并掌握 sitemesh 的基本用法。 在 Web 开发中,sitemesh 通过拦截 HTTP 请求,将用户定义的页面模板(通常称为...
下面是一个简单的例子,展示了如何在Spring MVC项目中同时使用Sitemesh和Freemarker。 **`web.xml`配置** ```xml <filter-name>sitemesh <filter-class>...
SiteMesh 是一个开源的Web应用程序布局和装饰框架,主要用于解决Web应用中的页面布局问题。它通过拦截HTTP请求,将页面内容与预定义的布局模板相结合,实现统一的页面头部、底部和侧边栏等元素,从而提高网站的整体...
它通过拦截HTTP请求,将页面内容与布局模板相结合,从而提供了一种简单有效的方式来管理和控制Web应用的外观和感觉。在Web开发中,SiteMesh扮演着视图层的装饰者角色,使得页面设计更加模块化,降低了代码的复杂性。...
1. **易用性**:Sitemesh的配置简单,可以快速集成到现有的Java Web应用中。 2. **灵活性**:支持多种装饰模式,可以为不同类型的页面使用不同的装饰器。 3. **可扩展性**:可以通过自定义Filter或使用表达式语言...
它主要目的是帮助开发者统一网站的外观和感觉,通过提供一种简单的方式来装饰(或模板化)整个Web应用中的页面。Sitemesh3是Sitemesh项目的第三个主要版本,提供了更现代的API和性能改进。 在Sitemesh3的官方下载...
在"**sitemesh入门demo**"中,我们将学习如何设置和使用Sitemesh来创建一个简单的Web应用程序。这个demo是基于博主的**Sitemesh入门和使用笔记**,提供了对应的源码供学习者实践和参考。以下是关于Sitemesh的详细...
**sitemesh-2.2.1.jar** 是一个用于Web应用程序界面布局的开源框架,由OpenSymphony团队开发。Sitemesh的主要功能是提供页面装饰能力,它可以帮助开发者统一网站的外观和感觉,实现页面模板和内容的分离。通过在...
在本项目中,Spring MVC与两个额外的技术——Sitemesh和Velocity进行了整合,增强了应用的模板渲染和页面布局能力。 Sitemesh 是一个开源的Web应用装饰器框架,主要用于统一网站的页面布局和样式。通过Sitemesh,...
Sitemesh 提供了一种简单且灵活的方式来管理和维护 Web 应用的页面布局,使得开发者可以专注于页面内容的编写,而无需关心如何布局和样式化这些内容。此外,Sitemesh 还支持自定义过滤器,可以根据需要扩展其功能,...
此外,提供的"简单文档说明"可能详细介绍了如何设置和运行这个例子,包括安装Sitemesh库、配置Web应用、创建装饰器和测试页面等步骤。阅读这份文档可以帮助初学者快速上手。 总的来说,Sitemesh是一个强大的工具,...
- **装饰模式的应用**:Sitemesh采用了GOF的装饰者模式,并将其应用于过滤器中,这意味着被装饰的页面无需知道具体的装饰逻辑,大大增强了灵活性。 - **多源内容装饰**:Sitemesh可以装饰来自不同技术栈的内容,如...
**Sitemesh** 是一个开源的网页布局和装饰框架,主要用在Java Web应用程序中,用于提供页面布局和模板设计的解决方案。它可以帮助开发者统一网站的外观和感觉,通过分离内容、样式和布局,使代码更加模块化和可维护...
通过这个简单的“sitemesh例子”,初学者可以了解到 Sitemesh 如何帮助我们简化 Web 开发中的页面布局工作。随着对 Sitemesh 的深入理解和实践,你将能够更有效地管理你的 Web 应用的样式和结构。
它提供了一种简单的方法来管理和美化Web应用程序的界面,通过定义全局的页面布局模板,将内容区域与样式分离,使得开发者可以集中精力处理业务逻辑,而不用过多地关注页面的样式和结构。以下是对Sitemesh的详细介绍...
SiteMesh 提供了一种简单有效的方式来进行页面布局,使得开发者可以专注于业务逻辑,而不必担心页面的统一风格问题。通过登录和注册页面的示例,我们可以看到 SiteMesh 如何帮助我们实现页面的统一装饰,同时保持...
sitemesh应用Decorator模式,用filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header, stylesheet, scripts and ...