一.需要包(两个),我用的是struts-2.1.8.1,注意版本
struts2-sitemesh-plugin-2.1.8.1.jar
sitemesh-2.4.2.jar
二.创建decorators.xml
<?xml version="1.0" encoding="utf-8"?>
<decorators defaultdir="/decorators">
<!--excludes结点则指定了哪些路径的请求不使用任何模板-->
<!--/index.jsp和凡是以/login/开头的请求路径一律不使用模板-->
<excludes>
<pattern>/index.jsp*</pattern>
<pattern>/login/*</pattern>
</excludes>
<!--decorator结点指定了模板的位置和文件名,通过pattern来指定哪些路径引用哪个模板-->
<decorator name="main" page="mode.jsp">
<pattern>/*</pattern>
</decorator>
</decorators>
三.在WebRoot下创建decorators
文件夹,其下创建layout.jsp
<%@ page language="java" pageEncoding="UTF-8"%>
<%@taglib prefix="decorator"
uri="http://www.opensymphony.com/sitemesh/decorator"%>
<%@taglib prefix="page" uri="http://www.opensymphony.com/sitemesh/page"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title><decorator:title default="嘻嘻哈哈" />
</title>
<decorator:head />
</head>
<body id="page-home">
<div style="background-color: red;width:100%;height: 100px;">
头
</div>
<div>
<!-- 这里的内容由引用模板的子页面来替换 -->
<decorator:body />
</div>
</body>
</html>
四.测试,创建index.jsp,根据配置文件,他不使用模板
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>index.jsp</title>
</head>
<body>
<form action="login.jsp">
<input type="submit" />
</form>
</body>
</html>
创建login.jsp,根据配置文件,他使用模板
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>行么</title>
</head>
<body>
<form action="login.jsp">
<input type="text" />
<input type="submit" />
</form>
</body>
</html>
测试可以看到效果
我的开发环境
Myeclipse5.5
参考于:http://blog.sina.com.cn/s/blog_4d429a290100d62c.html
谢谢!
分享到:
相关推荐
**使用Struts2 Sitemesh插件** 在Struts2的Action配置中,可以使用`decorator`结果类型指定装饰器: ```xml <result type="decorator">/myLayout_decorator ``` 这里的`/myLayout_decorator`是装饰器模板的名称,...
### Struts2整合SiteMesh技巧 #### 概述 在Web开发中,为了实现页面布局的统一性与可维护性,通常会采用一种称为“页面布局管理”的技术。Struts2框架提供了对SiteMesh的支持,这是一种强大的页面布局管理工具。...
2. **配置Struts2**:在struts.xml配置文件中,添加SiteMesh插件的配置,使Struts2知道需要使用SiteMesh进行页面装饰: ```xml <constant name="struts.action.excludePattern" value="/decorator.*"/> ...
struts2-sitemesh-plugin-2.0.8.jar
struts2-sitemesh-plugin-2.1.6.jar
Struts2和Sitemesh是两个非常流行的Java Web开发框架,它们在构建高效、结构化的MVC(模型-视图-控制器)应用中起到关键作用。Struts2是一个基于MVC设计模式的开源框架,主要用于控制应用程序的流程,而Sitemesh则是...
Struts2和Sitemesh是两个非常重要的Java Web开发框架,它们在构建高效、结构化的MVC(模型-视图-控制器)应用中扮演着重要角色。Struts2作为Action框架,提供了强大的动作控制和业务逻辑处理能力,而Sitemesh则是一...
struts2-sitemesh-plugin-2.1.8.1.jar
解决 java.lang.NoSuchFieldException: DEFAULT_PARAM>问题,下载后替换即可。
struts框架与sitemesh框架整合的插件,在java web开发中可以制作模板页,使自己做的网站看起来更专业
Struts2、Spring2.5 和 SiteMesh 是Java Web开发中的三个重要框架,它们共同构建了一个强大且灵活的Web应用程序架构。在这个小DEMO中,我们将深入探讨这三个框架的集成和工作原理。 **Struts2** 是一个基于MVC...
Struts2.0 和 Sitemesh 是两种在Java Web开发中广泛应用的技术,它们结合使用能够增强应用程序的用户体验和页面布局管理。Struts2.0 是一个基于MVC(Model-View-Controller)设计模式的开源框架,用于构建企业级的...
Sitemesh是由一个基于Web页面布局、装饰以及与现存Web应用整合的框架。它能帮助我们在由大 量页面构成的项目中创建一致的页面布局和外观,如一致的导航条,一致的banner,一致的版权,等等。... struts2 就不用说了撒
此外,Struts2使用拦截器(Interceptor)机制,允许在Action执行前后进行额外的操作,如日志记录、权限验证等。 2. **Sitemesh**:Sitemesh的主要任务是为Web应用提供页面布局。它通过拦截HTTP响应,将内容插入到...
4. **标记可装饰的页面**:在 Struts2 的 Action 类或者 JSP 页面中,使用 `@Decorator` 注解或 `<sitemesh:meta>` 标签指定页面是否需要被装饰以及使用的装饰器名称。 例如,在 Action 类中: ```java @Decorator...
struts2-config-browser-plugin-2.3.24.jar, ...struts2-sitemesh-plugin-2.3.24.jar, struts2-spring-plugin-2.3.24.jar, struts2-struts1-plugin-2.3.24.jar, struts2-tiles-plugin-2.3.24.jar,
包含struts2-core-2.5.10.1.jar,struts2-jfreechart-...struts2-sitemesh-plugin-2.5.10.1.jar,struts2-spring-plugin-2.5.10.1.jar,struts2-testng-plugin-2.5.10.1.jarstruts2-tiles-plugin-2.5.10.1.jar等jar包