在百万美元模板中显示Spring MVC模型属性

时间:2013-08-25 08:33:03

标签: spring spring-mvc thymeleaf

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

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

1 个答案:

答案 0 :(得分:5)

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

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

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

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

有关模板处理如何与Thymeleaf一起使用的其他信息,您可以参考Thymeleaf guide