Apache Tiles配置详解与应用总结

版权申诉
0 下载量 43 浏览量 更新于2024-06-29 收藏 717KB PDF 举报
"Tiles的使用 - 遗补和总结-.pdf" 本文档主要介绍了Tiles框架在Struts应用程序中的使用,包括Tiles的配置和如何利用Tiles定义(Definitions)作为Struts Forward,以实现更加灵活和模块化的页面布局。 一、Tiles配置 Tiles是Apache Struts项目中的一个组件,用于构建复杂的Web应用程序界面。在使用Tiles之前,需要在Struts的配置文件(通常为struts-config.xml)中添加TilesPlugin插件配置。以下是一段典型的配置示例: ```xml <plug-in className="org.apache.struts.tiles.TilesPlugin"> <set-property property="definitions-config" value="/WEB-INF/tiles-defs.xml,/WEB-INF/tiles-tests-defs.xml,/WEB-INF/tiles-tutorial-defs.xml,/WEB-INF/tiles-examples-defs.xml"/> <set-property property="moduleAware" value="true"/> <set-property property="definitions-parser-validate" value="true"/> </plug-in> ``` 1. `definitions-config`:指定Tiles的配置文件路径,可以列出多个,用逗号分隔。这些文件会按照顺序加载,若定义有重复,后面的定义会覆盖前面的。 2. `moduleAware`:默认设置为`true`,表示每个Struts模块都有独立的Definition工厂。如果设为`false`,所有模块共享同一个工厂。 3. `definitions-parser-validate`:默认为`true`,开启DTD验证。如果设为`false`,则关闭验证,可能提高性能但牺牲了配置文件的正确性检查。 二、使用Tiles定义作为Struts Forward 在配置好Tiles之后,可以不再通过URL来转发请求,而是直接使用Tiles配置文件中定义的名称(Definition's名称)。这种方式使得页面结构和业务逻辑分离,增强了代码的可维护性和复用性。 例如,假设我们有一个名为`mainLayout`的定义,它定义了页面的基本布局,包括头部、主体和底部。在Struts Action中,我们可以这样设置转发: ```java ActionForward forward = new ActionForward("mainLayout"); forward.setRedirect(true); return forward; ``` 这里的`mainLayout`对应Tiles配置文件中的一个定义,Tiles会根据这个定义组合并渲染出相应的页面内容。 总结,Tiles提供了强大的页面布局和组合功能,通过集中管理页面定义,简化了Struts应用的视图层设计。它允许开发者定义可重用的页面片段,并组合成复杂页面,增强了应用程序的模块化和可扩展性。在实际开发中,结合Struts的业务逻辑处理,Tiles能有效地提升Web应用的开发效率和质量。