返回介绍

21.2.2 创建视图

发布于 2024-08-17 00:45:49 字数 1469 浏览 0 评论 0 收藏 0

按照传统的方式,Java Web应用会使用JSP作为视图层的技术。但是,正如我在第6章所述,在这个领域有一个新的参与者。Thymeleaf的原生模板比JSP更加便于使用,而且它能够让我们以HTML的形式编写模板。鉴于此,我们将会使用Thymeleaf来定义Contacts应用的home视图。

首先,需要将Thymeleaf添加到项目的构建中。在本例中,我使用的是Spring 4,所以需要将Thymeleaf的Spring 4模块添加到构建之中。在Gradle中,依赖将会如下所示:

如果使用Maven的话,所需的依赖如下所示:

需要记住的是,只要我们将Thymeleaf添加到项目的类路径下,就启用了Spring Boot的自动配置。当应用运行时,Spring Boot将会探测到类路径中的Thymeleaf,然后会自动配置视图解析器、模板解析器以及模板引擎,这些都是在Spring MVC中使用Thymeleaf所需要的。因此,在我们的应用中,不需要使用显式Spring配置的方式来定义Thymeleaf。

除了将Thymeleaf依赖添加到构建中,我们剩下所需要做的就是定义视图模板。程序清单21.5展现了home.html,这是定义home视图的Thymeleaf模板。

程序清单21.5 home视图渲染了一个创建新联系人的表单以及展现联系人的列表

它实际上是一个非常简单的Thymeleaf模板,分为两部分:一个表单和一个联系人的列表。表单将会POST数据到ContactController的submit()方法上,用来创建新的Contact。列表部分将会循环列出模型中的Contact对象。

为了使用这个模板,我们需要对其进行慎重地命名并放在项目的正确位置下。因为ContactController中home()方法所返回的逻辑视图名为home,因此模板文件应该命名为home.html,自动配置的模板解析器会在指定的目录下查找Thymeleaf模板,这个目录也就是相对于根类路径下的templates目录下,所以在Maven或Gradle项目中,我们需要将home.html放到“src/main/ resources/templates”中。

这个模板还有一点小事情需要处理,它所产生的HTML将会引用名为style.css的样式表。因此,需要将这个样式表放到项目中。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文