带有多个点的messages.properties键不起作用

时间:2019-03-21 14:01:00

标签: java spring properties-file

我正在为.xhtml页面使用messages.properties捆绑包。我可以访问这些键并在它们具有单个名称的情况下使用它们。链接相同类别的键并将它们除以.会引起问题。

例如 messages.properties:

bookTitle=Title

我这样加载我的捆绑包:

<f:loadBundle var="msg" basename="messages"/>

并像这样使用捆绑包:

<p:column headerText="#{msg.bookTitle}" filterBy="#{row.book.title}" filterMatchMode="contains">
    <h:outputText value="#{row.book.title}" />
</p:column>

这个工作很好。

问题:

使用:

book.title=Title
book.url=URL

我无法使用#{msg.book.title}访问值并收到以下错误消息:

headerText="#{msg.book.title}": Property [title] not found on type [java.lang.String]

我正在使用Lombok生成吸气剂和吸气剂。我担心的问题是,第一个键book是作为字符串检索的,然后lombok尝试在String对象(书)上使用getTitle()方法,从而引发异常

1 个答案:

答案 0 :(得分:1)

使用

#{msg['book.title']}

相反。应该就是这样。
这是一种语法,恕我直言,仅应用于名称中包含点的键。

顺便说一句,龙目岛不参与其中。