Struts 内置了Tiles,利用它可以很好复用页面,使用起来就像我们复用类一样。
<card title='<tiles:getAsString name="title"/>'>
<tiles:insertAttribute name="menu" />
<tiles:insertAttribute name="body" />
<tiles:insertAttribute name="footer" />
</card>
<definition name="basic" template="/decorators/main.jsp">
<put-attribute name="title" value="example" />
<put-attribute name="menu" value="/decorators/menu.jsp" />
<put-attribute name="body" value="/decorators/blank.jsp" />
<put-attribute name="footer" value="/decorators/footer.jsp" />
</definition>
Sitemesh使用Decorator模式达到预期效果。这里可以将页面分为两类,decorator(修饰)和decoratored(被修饰)。这就好比有一个相框和各种不同可以用来变换的相片,当相框中放入不同的相片,就得到不同的视觉效果。
<html>
<head>
<title>My Site - <decorator:title default="Welcome!" /></title>
<decorator:head />
</head>
<body>
<page:applyDecorator name="panel"/>
<decorator:body />
<p><small>(<a href="?printable=true">printable version</a>)</small></p>
<page:applyDecorator name="footer"/>
</body>
</html>
<decorators defaultdir="/decorators">
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="panel" page="panel.jsp"/>
<decorator name="footer" page="footer.jsp"/>
</decorators>
分享到:
相关推荐
在本文中,我们将深入探讨如何将 Tiles2 替换为 Sitemesh 在一个基于 Spring MVC 和 Spring Web Flow 的项目中。Sitemesh 是一个流行的页面布局和装饰框架,它可以为我们的应用程序提供统一的外观和感觉。Tiles2 ...
#### 二、Sitemesh与Struts Tiles的比较 尽管Struts Tiles在一定程度上实现了页面布局的功能,但与Sitemesh相比仍存在明显差异: - **装饰模式的应用**:Sitemesh采用了GOF的装饰者模式,并将其应用于过滤器中,这...
一种解决方案是全面重写系统,并使用像Struts-Tiles这样的框架来确保统一的外观和感觉。然而,这种方法通常成本高昂且不切实际。另一种方法是尝试让所有应用系统的部分都具有相同的外观和感觉,但这将导致维护上的...
它还与许多其他框架如Spring、Tiles等有良好的集成。 2. **Spring2**:Spring是一个全面的Java应用框架,核心特性包括依赖注入(DI)和面向切面编程(AOP)。它简化了Java EE开发,通过管理对象的生命周期和配置,...
JWebBox2.0.0是Java服务器页面(JSP)项目中使用的小型布局工具,起着Tiles和SiteMesh的作用,但是它是纯面向对象设计的,没有XML文件,没有标签,功能强大但简单(仅1个Java类),并且易于使用,可用于构建整个网站...
tiles-request-servlet-wildcard-1.0.1.jar, tiles-request-velocity-1.0.1.jar, tiles-servlet-2.2.2.jar, tiles-template-2.2.2.jar, tiles-velocity-3.0.1.jar, velocity-1.6.4.jar, velocity-tools-1.3.jar, ...
tiles-autotag-core-runtime-1.1.0.jar, tiles-core-3.0.5.jar, tiles-el-3.0.5.jar, tiles-freemarker-3.0.5.jar, tiles-jsp-3.0.5.jar, tiles-ognl-3.0.5.jar, tiles-request-api-1.0.6.jar, tiles-request-...
struts2-tiles-plugin-2.5.10.jar,tiles-api-3.0.7.jar,tiles-autotag-core-runtime-1.2.jar,tiles-core-3.0.7.jar,tiles-el-3.0.7.jar,tiles-freemarker-3.0.7.jar,tiles-jsp-3.0.7.jar,tiles-ognl-3.0.7.jar,tiles...
10. **MVC 插件**:Spring MVC 还支持多种插件,如 Tiles、SiteMesh 等,用于页面布局和装饰。 在实际开发中,开发者通常会结合其他 Spring 组件,如 Spring Data(用于数据库操作)、Spring Security(用于安全...
tiles-request-servlet-wildcard-1.0.1.jar tiles-request-velocity-1.0.1.jar tiles-servlet-3.0.1.jar tiles-template-3.0.1.jar tiles-velocity-3.0.1.jar tomcat-juli.jar velocity-1.6.4.jar velocity-tools-...
struts2-config-browser-plugin-2.3.24.jar, struts2-core-2.3.24.jar, struts2-jasperreports-plugin-2.3.24.jar, struts2-jfreechart-plugin-2.3.24.jar, struts2-pell-...struts2-tiles-plugin-2.3.24.jar,
与Struts1.x中常用的Tiles框架相比,SiteMesh配置更为简洁,能够方便地为所有请求添加装饰。 **整合步骤:** 在整合Struts2、Spring和Hibernate时,通常会遵循以下步骤: 1. **创建项目环境** 使用像MyEclipse...
Struts2提供了丰富的标签库(Tiles、Sitemesh等),使得JSP页面的编写更加简洁和规范。 7. **使用Struts2标签** Struts2提供了一系列的标签,如`s:textfield`用于输入字段,`s:submit`用于提交按钮,`s:action...
2. **标签库**:Spring MVC 支持 JSTL(JavaServer Pages Standard Tag Library)和其他自定义标签库,如 Tiles 或 Struts Tags。这些标签库可以简化视图层的开发,提供重用和维护性。例如,JSTL 中的 fmt 和 c 标签...
- **Spring Framework**:熟悉Spring框架及其生态系统中的组件,如ACEGI(Spring Security)、Struts/Struts2、Stripes、WebWork、Wicket、Tiles、Sitemesh、Seam、SpringWebFlow、Portlets、Hibernate、iBatis、...
4. **集成性**:Struts2可以与Spring框架无缝集成,同时支持SiteMesh(布局管理)和Tiles(页面组装),并提供了与OGNL(Object-Graph Navigation Language)表达式的集成,用于数据绑定和表达式计算。 5. **视图技术...
4. **易整合性**:Struts2可以轻松地与Spring、Tiles、SiteMesh等其他框架集成,增强了系统的扩展性。 5. **模板支持**:支持多种模板技术,如JSP、Freemarker、Velocity和XSLT,开发者可以根据需求选择合适的视图...