如何在messages.properties文件中使用参数?

mko*_*mko 18 java

这个问题中,它指出,有可能有类似的东西:

message.myMessage = This message is for {0} in {1}
Run Code Online (Sandbox Code Playgroud)

但我不知道如何将参数传递给它

MESSAGES.getString("message.myMessage", "foor", "bar")
Run Code Online (Sandbox Code Playgroud)

但不幸的是getString无法知道拿其他参数有什么想法吗?

小智 28

我猜你在想MessageFormat?如果是这样,就是这样:

String s = MessageFormat.format("This message is for {0} in {1}", "foo", "bar");
Run Code Online (Sandbox Code Playgroud)

或者从属性:

Properties p = new Properties();
p.setProperty("messages.myMessage", "This message is for {0} in {1}");
String s = MessageFormat.format(
    p.getProperty("messages.myMessage"), "foo", "bar");
Run Code Online (Sandbox Code Playgroud)


vhu*_*ker 12

试试这个:

String message = "This message is for {0} in {1}.";
String result = MessageFormat.format(message, "me", "the next morning");
System.out.println(result);
Run Code Online (Sandbox Code Playgroud)

(java.text.MessageFormat;)

或者在JSF中:

<h:outputFormat value="This message is for {0} in {1}.">
    <f:param value="me">
    <f:param value="the next morning">
</h:outputFormat>
Run Code Online (Sandbox Code Playgroud)