如果有可能通过Spring自动解析嵌套属性,我想要帮助。我使用的是Spring 4.2.4,Java 8,属性文件看起来像 -
# messages.properties
company.name=XYZ
welcome.message=Dear Customers of ${company.name}
about.company=${company.name} is blah blah
我们有一个自定义本地化实现来从i18的资源包中获取String,如下所述 -
public String get(Locale locale, String key, Object... arguments) {
String pattern = this.getString(locale, key);
MessageFormat formatter = new MessageFormat(pattern, locale);
StringBuffer buffer = new StringBuffer();
formatter.format(arguments, buffer, null);
return buffer.toString();
}
我希望能够使用像get(locale,“welcome.message”)这样的方法,并期望将其呈现为XYZ的亲爱的客户。
目前它在MessageFormat中失败了。有没有办法让spring自动解决这个问题。
答案 0 :(得分:0)
我在我的控制器中使用 MessageSource 这样做
@Inject
private MessageSource message;
protected String getMessage(String key, Object[] arguments) {
return message.getMessage(key, arguments, LocaleContextHolder.getLocale());
}