Thymeleaf动态文本

时间:2018-11-21 10:50:30

标签: spring thymeleaf

我正在使用百里香作为电子邮件模板,但是这些模板的文本来自数据库。

它看起来像这样:

<html>
   <header>
   </header>
   <body>
     Hello <th:block th:text="${dbText}> </th:block>
   </body>
</html>

因此,属性dbText是db中的字符串。

问题:是否可以以某种方式将thymeleaf动态属性存储在dbText中?

我的意思是,当我获取dbText时,它是

 "my friend <th:block th:text="${name}"></th:block>"

因此,当我尝试替换百里香中的 name 属性时,它不会代替我的值而不是name而是显示以下内容:

"my friend ${name}"

1 个答案:

答案 0 :(得分:1)

理想情况下,您希望通过模型将对象拖放到模板中,然后访问name作为该对象的属性。

在您的控制器中:

@RequestMapping(value="/your-uri", method = RequestMethod.GET)
public String showName(Model model) {
     User someUser = new User("First", "Last");
     model.addAttribute("user", someUser);
}

然后在您看来:

<p th:text="${user.firstName} + ' ' + ${user.lastName}></p>

这是假设您的User类具有以下内容:

private String firstName
private String lastName
// getters & setters

这将输出:

<p>First Last</p>