Thymeleaf 中 th:text 和 th:value 之间的区别
1、概览 Thymeleaf 是一种流行的 Java 模板引擎,它允许我们创建动态网页。它提供了多种属性,用于将数据从模型绑定到视图。
在本教程中,我们将了解 Thymeleaf 中 th:text 和 th:value 属性之间的主要区别。
2、th:text 属性 Thymeleaf 中的 th:text 属性用于设置元素的文本内容。
它还取代了标准的 HTML text 属性。因此,我们可以把它放在任何支持文本内容的 HTML 元素中,如标题、段落、标签等。
我们还可以使用该属性来显示动态文本内容,例如网页上的标题。
假设我们想在 HTML 页面上显示 controller 提供的 title 属性。
首先,让我们创建一个 controller 类和一个指定模型属性的方法:
@GetMapping public String show(Model model) { model.addAttribute("title", "Baeldung"); return "attributes/index"; } 接下来,我们将在标题元素中显示值:
<h1 th:text="${title}"/> 在这里,Thymeleaf 会计算表达式 ${title},并将该值插入标题元素。
我们将得到的 HTML 如下:
<h1>Baeldung</h1> 此外,与标准 HTML text 属性不同,th:text 属性支持表达式。除了变量,这些表达式还可能包括运算符和函数。
例如,让我们在没有提供 title 属性的情况下指定默认值:
<h1 th:text="${title} ?: 'Default title'"/> 3、th:value 属性 另一方面,th:value 属性用于设置通常需要用户输入的元素的值。输入框、复选框、单选按钮和下拉按钮等元素都属于此类。