1

我正在视图层中使用 Spring MVC 和 Thymeleaf 开发一个完整的 Spring 应用程序。过去我曾在视图层中使用过 JSP 和 Spring MVC,但我猜现在这些都是恐龙。
所以我的问题是,使用 JSP,我可以很容易地在视图中显示模型属性,方法是在控制器中的 model.addAttribute 中添加值,并在 JSP 中的任何地方显示相同的值,占位符评估为 springex ${value}。因此,如果我想在页面中放置标题,我可以写<title>${appName}<title>. 这是我可以放置任何 springex 的地方之一。

我很难弄清楚如何用 Thymeleaf 做到这一点,因为它使用基于属性的解析器。因此,如果不包含 thymeleaf 前缀,则页面上的任何位置都不会处理 spring 表达式。使用有限的标签库集非常困难。我听说过百里香的自定义属性,但我想应该有更好的方法来做到这一点。

4

1 回答 1

6

您可以使用该th:text属性,例如

<html ... xmlns:th="http://www.thymeleaf.org">
    ...
    <title th:text="${appName}">mocking text</title>
    ...
</html>

标记的内容(在本例中为“模拟文本”)被th:text属性中表达式的结果替换。

当然,您需要在 CLASSPATH 上有适当的 JAR 文件,并正确配置 Thymeleaf 视图解析器,如Thymeleaf+Spring 指南中所述。

有关模板处理如何与 Thymeleaf 一起工作的更多信息,您可以参考Thymeleaf 指南

于 2013-08-25T10:37:49.543 回答