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

messages.properties keys with multiple dots not working

我正在为我的 .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 生成 getter 和 setter。我担心问题是第一个键 book 作为 String 检索,然后 lombok 尝试在 String 对象(book)上使用 getTitle() 方法并因此抛出异常

使用

#{msg['book.title']}

相反。应该是这样。
这是一种语法,恕我直言,应该只用于名称中有一个点的键。

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