spring inaction 视图

来源:互联网 发布:华农c语言实验答案 编辑:程序博客网 时间:2024/06/07 00:40

6.3 使用Apache Tiles视图定义布局

到现在为止,我们很少关心应用中Web页面的布局问题。每个JSP完全负责定义自身的布局,在这方面其实这些JSP也没有做太多工作。
假设我们想为应用中的所有页面定义一个通用的头部和底部。最原始的方式就是查找每个JSP模板,并为其添加头部和底部的HTML。但
是这种方法的扩展性并不好,也难以维护。为每个页面添加这些元素会有一些初始成本,而后续的每次变更都会耗费类似的成本。
更好的方式是使用布局引擎,如Apache Tiles,定义适用于所有页面的通用页面布局。Spring MVC以视图解析器的形式为Apache Tiles提
供了支持,这个视图解析器能够将逻辑视图名解析为Tile定义。

6.3.1 配置Tiles视图解析器


6.4.1 配置Thymeleaf视图解析器

为了要在Spring中使用Thymeleaf,我们需要配置三个启用Thymeleaf与
Spring集成的bean:
ThymeleafViewResolver:将逻辑视图名称解析为Thymeleaf模板视图;
SpringTemplateEngine:处理模板并渲染结果;
TemplateResolver:加载Thymeleaf模板。
如下为声明这些bean的Java配置。
程序清单6.4 使用Java代码的方式,配置Spring对Thymeleaf的支持




6.4.2 定义Thymeleaf模板

Thymeleaf在很大程度上就是HTML文件,与JSP不同,它没有什么特殊的标签或标签库。Thymeleaf之所以能够发挥作用,是因为它通过
自定义的命名空间,为标准的HTML标签集合添加Thymeleaf属性。如下的程序清单展现了home.html,也就是使用Thymeleaf命名空间的首
页模板。


小结:

处理请求只是Spring MVC功能的一部分。如果控制器所产生的结果想要让人看到,那么它们产生的模型数据就要渲染到视图中,并展现到
用户的Web浏览器中。Spring的视图渲染是很灵活的,并提供了多个
内置的可选方案,包括传统的JavaServer Pages以及流行的Apache
Tiles布局引擎。
在本章中,我们首先快速了解了一下Spring所提供的视图和视图解析可选方案。我们还深入学习了如何在Spring MVC中使用JSP和Apache
Tiles。
我们还看到了如何使用Thymeleaf作为Spring MVC应用的视图层,它被视为JSP的替代方案。Thymeleaf是一项很有吸引力的技术,因为它
能创建原始的模板,这些模板是纯HTML,能像静态HTML那样以原始的方式编写和预览,并且能够在运行时渲染动态模型数据。除此之
外,Thymeleaf是与Servlet没有耦合关系的,这样它就能够用在JSP所不能使用的领域中。