2011-08-18 92 views
1

我有一个使用Spring i18n的问题。我可以将参数传递给其他消息代码的i18ned消息吗?Spring i18n问题

例如,

YesKey=Yes 
NoKey=No 

Message1=This is {YesKey} 
Message2=This is {NoKey} 

如果我不能实施,是否有其他替代方案?

回答

2

由于票价我知道它不可能简单地通过使用那里的名字在其他消息中使用消息。 - 这不是春天的限制,它是java.text.MessageFormat的限制。

但是你可以做的是:

message.properties:

YesKey=Yes 
NoKey=No 

Message1=This is {0} 
Message2=This is {0} 

Java代码

MessageSource messageSource =... 
String param = messageSource.getMessage("YesKey", 
         new Object[0], Locale.English); 
String message = messageSource.getMessage("Message1", 
         new Object[]{param}, Locale.English); 

或JSP(X):

<spring:message var="param" code="YesKey" /> 
<spring:message var="message" code="Message1" arguments="${param}" />