我正在使用Thymeleaf并且需要多个模板中的属性值(不是常见的页眉或页脚)。
文档说,如果我们有a.html
模板,则邮件会显示在a.properties
或a_en.properties
中。
如果我有房产,请说:
test_property=This is a common message: {0}
我想在模板a.html
和b.html
中使用。它进入了什么属性文件?我可以创建一个全局属性文件,还是可以配置Thymeleaf来加载全局属性文件?
我要通过这些文档:
http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#messages
似乎这会支持......
答案 0 :(得分:1)
胸腺文档(Externalizing Messages)说:
Thymeleaf中外部化文本的位置是完全可配置的,这将取决于所使用的特定org.thymeleaf.messageresolver.IMessageResolver实现。通常,将使用基于.properties文件的实现,但是如果我们想从数据库中获取消息,则可以创建自己的实现。
因此,您可以使用以下方式之一:
1。。为org.thymeleaf.messageresolver.IMessageResolver
界面创建自定义实现。
参考:
StandardMessageResolver
2。。Thymeleaf使用OGNL作为默认值。根据{{3}}:
您可以使用@ class @ field语法引用静态字段。该课程必须完全合格。
因此,创建一个包含这些静态字符串消息的JAVA类,然后在百里香模板中调用它们:
th:text="${@com.example.yourpackagename.Constants@STRING_KEY}"
3。。如果您使用的是spring / spring boot,则只需使用位于 resources 文件夹中的message.properties文件。
4。。创建一个使用所需消息的片段html页面,然后在模板中调用此片段,然后使用.properties文件(在同一文件夹作为片段文件)。