Thymeleaf模板语言在Spring MVC中的应用示例

需积分: 9 0 下载量 8 浏览量 更新于2024-08-04 收藏 998B MD 举报
该资源是一个关于Thymeleaf模板引擎使用的示例,主要展示了如何在Java后端(Spring MVC)与HTML前端结合使用Thymeleaf进行数据传递和动态渲染。 在Java代码部分,我们看到一个`HelloController`类,其中有两个方法。`hello()`方法使用`@ResponseBody`注解,表明返回的"hello!"字符串将直接作为HTTP响应体发送给客户端。而`success()`方法则将数据放入一个Map,其中包括一个HTML标题"你好!"以及一个包含三个名字("张三"、"李四"、"王五")的列表,然后返回视图名称"success"。这个Map会被Thymeleaf用来在前端渲染。 HTML部分展示了一个简单的Thymeleaf模板。首先,HTML文档声明了语言为英语,并引入了Thymeleaf的命名空间。接着,在`<body>`中,有两个`<div>`元素分别使用了`th:text`和`th:utext`属性,它们都是用来显示后端传递的"hello!"字符串。`th:text`会进行HTML转义,防止XSS攻击,而`th:utext`则不会转义,直接显示原始文本。 `th:each`指令用于遍历Map中的"users"列表,每个`<h4>`标签都会根据列表中的每个元素生成一次。这允许我们在页面上以列表形式显示用户的名字。同时,有两种不同的写法来显示用户名字:行内写法`[[${user}]]`和`[(${user})]`。前者会把特殊字符转义,避免在HTML中执行任何代码,后者则不会转义,通常用于显示已经安全处理过的数据。 这个示例说明了Thymeleaf如何与Spring MVC配合,将后端的数据注入到前端模板中,以及如何使用Thymeleaf的表达式和指令进行动态内容渲染和遍历集合数据。Thymeleaf通过这种方式,提供了更方便的MVC开发体验,使得开发者可以在HTML模板中直接处理逻辑,而无需编写大量的JavaScript或者在后端生成完整的HTML。