Thymeleaf - 如何将<select> th:value与消息包链接起来?

时间:2016-05-05 17:37:44

标签: internationalization thymeleaf

我有这个选择: &lt; select class =&#34; form-control&#34;个:字段=&#34; * {OBJID}&#34;命名=&#34; OBJID&#34; &GT;     &lt;选项th:每个=&#34; obj:$ {objList}&#34;             个:值=&#34; $ {obj.getId()}&#34;             个:选择=&#34; $ {objList.contains(OBJ)}&#34;             个:文本=&#34; $ {obj.getDescription()}&#34;&GT;     &LT; /选项&GT; &LT; /选择&GT; 默认对象obj的描述是&#39;对象无效&#39;。 是否有可能将其价值国际化?因此,当对象出现在此列表中时,它会以葡萄牙语读取,&#34; Objeto&#34;?

1 个答案:

答案 0 :(得分:1)

要使用国际化,您应该为您支持的每种语言使用单独的消息文件,并按如下方式显示说明:

th:text="#{${obj.getDescription()}}">

但在这种情况下obj.getDescription()应该返回消息密钥作为其值(例如object.description.message),并且此密钥必须出现在messages_pt.properties文件中,例如:

object.description.message="Objecto"

也许我没有正确理解你,你只想在描述为null时显示不同的值。在这种情况下,下面的代码应解决问题:

th:text="${obj.getDescription()}?: 'Description is null...'"

th:text="${obj.getDescription()}?: #{message.property.key.here}"

HTH