Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在属性文件中添加二级数据_Java_Jsf_Jsf 2_Properties - Fatal编程技术网

Java 在属性文件中添加二级数据

Java 在属性文件中添加二级数据,java,jsf,jsf-2,properties,Java,Jsf,Jsf 2,Properties,我拥有的是如下的属性文件 欢迎光临 由于我反复使用了Admin单词,我想使用如下内容 admin = Admin welcomeAdmin = Welcome #{admin} editAdmin = Edit #{admin} 因此,如果我在一个地方更改,即在admin=admin,它将反映所有地方 任何关于如何完成此任务的想法/建议都将不胜感激。今天,经典的ResourceBundle类不支持命名参数及其替换,而是支持在bundle的键值对中键入{0}的简单占位符,这将被使用Message

我拥有的是如下的属性文件

欢迎光临 由于我反复使用了Admin单词,我想使用如下内容

admin = Admin
welcomeAdmin = Welcome #{admin}
editAdmin = Edit #{admin}
因此,如果我在一个地方更改,即在
admin=admin
,它将反映所有地方


任何关于如何完成此任务的想法/建议都将不胜感激。

今天,经典的
ResourceBundle
类不支持命名参数及其替换,而是支持在bundle的键值对中键入
{0}
的简单占位符,这将被使用
MessageFormat#format
替代

在这种情况下,如果您将
Welcome{admin}
替换为
Welcome{0}
,您将能够通过使用以下方法之一实现所需的功能:

  • JSF的

    
    
  • JSTL的

    
    
  • 您还可以创建自己的EL函数、标记处理程序或UI组件,或者在bean中使用
    MessageFormat
    类方法等。当然,您还可以扩展
    ResourceBundle
    类以支持命名参数,并返回已解析命名参数的消息

    建议阅读

  • )
  • )

  • 如果我没有弄错的话,这在Spring中是开箱即用的。我正在使用JSF,我正在使用它。然后属性占位符应该会起作用:@JanGoyvaerts:我在我的JSF 2.0项目中使用属性文件,但我需要知道如何使用下面几行中的早期数据。
    admin = Admin
    welcomeAdmin = Welcome #{admin}
    editAdmin = Edit #{admin}
    
    <h:outputFormat value="#{msg.welcomeAdmin}">
        <f:param value="#{msg.admin}" />
    </h:outputFormat>
    
    <fmt:message key="msg.welcomeAdmin">
        <fmt:param value="#{msg.admin}">
    </fmt:message>