2013-03-24 6 views
12

In this question, si sottolinea, è possibile avere qualcosa di simile:Come posso utilizzare i parametri in un file messages.properties?

message.myMessage = This message is for {0} in {1}

Ma non so come passare parametri ad esso

MESSAGES.getString ("message.myMessage" , "foor", "bar")

ma sfortunatamente getString non può conoscere altri parametri Qualche idea?

+0

Qual è il tipo di messaggi? –

+0

@JBNizet è ResourceBundle – mko

risposta

7

Prova questo uno:

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

(java.text.MessageFormat;)

O in JSF:

<h:outputFormat value="This message is for {0} in {1}."> 
    <f:param value="me"> 
    <f:param value="the next morning"> 
</h:outputFormat> 
22

Sto indovinando che stai pensando di MessageFormat? Se è così, è proprio questo:

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

O dalla proprietà:

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"); 
+0

Grazie per la risposta rapida, 'ResourceBundle' ha i metodi getProperty – mko

+0

' Proprietà finali statiche private MESSAGGI = nuove proprietà(). Load (ClassLoader.getSystemResourceAsStream ("rawcode.gui.messages")); ' – mko

Problemi correlati