我正在视图层中使用Spring MVC和Thymeleaf开发一个完整的Spring应用程序。在过去,我在视图层使用过JSP和Spring MVC,但我猜这些都是恐龙。
所以我的问题是,使用JSP,我可以非常轻松地在视图中显示模型属性,方法是在控制器中的model.addAttribute中添加值,并在JSP中的任何位置显示相同的内容,并对springex ${value}
进行占位符评估。因此,如果我想在页面中放置标题,我可以写<title>${appName}<title>
。这是我可以放任何springex的地方之一。
我很难弄清楚如何使用Thymeleaf来实现这一点,因为它使用基于属性的解析器。因此,如果不包括百日咳前缀,则页面上的任何位置都不会处理弹簧表达式。使用有限的标记库非常困难。我听说过百里香的自定义属性,但我想应该有更好的方法来做到这一点。
答案 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。