【问题标题】:messages.properties keys with multiple dots not working带有多个点的 messages.properties 键不起作用
【发布时间】:2019-08-12 09:51:56
【问题描述】:

我正在为我的 .xhtml 页面使用 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 被作为字符串检索,然后 lombok 尝试在字符串对象(书)上使用 getTitle() 方法,从而引发异常

【问题讨论】:

    标签: java spring properties-file


    【解决方案1】:

    使用

    #{msg['book.title']}
    

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

    顺便说一句,龙目岛与此无关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-29
      • 2015-09-30
      相关资源
      最近更新 更多