覆盖primefaces messages.properties标签的正确配置是啥

Posted

技术标签:

【中文标题】覆盖primefaces messages.properties标签的正确配置是啥【英文标题】:What is the correct configuration to override primefaces messages.properties labels覆盖primefaces messages.properties标签的正确配置是什么 【发布时间】:2019-02-15 22:11:12 【问题描述】:

我试图覆盖邮件中的PrimeFaces messages.properties 标签,但没有成功。

这就是我想要更改数据表标签的方法:

    这是我的faces-config.xml

    <faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
    version="2.2">
    
    <application>
    
        <locale-config>
            <default-locale>it</default-locale>
            <supported-locale>it</supported-locale>
            <supported-locale>en</supported-locale>
        </locale-config>
    
        <resource-bundle>
            <base-name>i18n.messages</base-name>
            <var>msg</var>
        </resource-bundle>
        <resource-bundle>
            <base-name>i18n.primefaces</base-name>
            <var>messages</var>
        </resource-bundle>
    
    </application>
    
    
    </faces-config>
    

    resources/i18n/messages.properties 包含我自己的应用程序标签 (app),而在 resources/i18n/primefaces.properties 中,我只想放置这个 Messages.properties 的 primefaces 覆盖。

    所以在resources/i18n/primefaces.properties 文件中我有这个内容:

    primefaces.datatable.SORT_ASC = Ascending
    primefaces.datatable.SORT_DESC = Descending
    

    resources/i18n/primeface_it.properties 文件中我有这个内容:

    primefaces.datatable.SORT_ASC = Crescente
    primefaces.datatable.SORT_DESC = Decrescente
    

    没有任何反应,即使我切换到意大利语区域设置,我仍然会看到 SORT_ASCSORT_DESC 标签的英文翻译。

【问题讨论】:

【参考方案1】:

PrimeFaces 属性的“基本名称”是“org.primefaces.Messages”,因此要为其添加翻译,您需要在项目中的resources/org/primefaces 中添加Messages_it.properties。如果您还想覆盖默认的 PF,也可以在其中添加 Messages.properties(确保它包含每个键的副本并覆盖值)。

而且您不需要在 faces-config 中覆盖或添加资源包,因为它们已经在 PrimeFaces jar 中的 faces-config 中定义。

【讨论】:

以上是关于覆盖primefaces messages.properties标签的正确配置是啥的主要内容,如果未能解决你的问题,请参考以下文章

覆盖 Primefaces 输入组件所需的验证消息

覆盖primefaces messages.properties标签的正确配置是啥

modal=true 的 Primefaces 对话框无法正常工作

JSF PrimeFaces overlayPanel 提交值

PrimeFaces功能区中的FONT_AWESOME图标未正确显示

Primefaces:如何在 primefaces 3.5 中为菜单栏设置粘性