我正在使用百里香作为电子邮件模板,但是这些模板的文本来自数据库。
它看起来像这样:
<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}"
答案 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>