Spring XML消息源,bean XML中的getMessage?

我已经设置了这样的资源:

  locale\\messages   

我的房产文件:

 battle.name=TestBattle 

我想在使用bean时到达文本“TestBattle”:

     

我想在此行中的propertyFile中重新发送消息

  

有没有办法做到这一点,而无需使用

 getMessage("battle.name",... 

java中的代码?

至少,你可以使用spel来做到这一点。

例如

        

但是,如果你需要翻译许多代码,这似乎很麻烦。

其他选项是使用String to String PropertyEditor进行转换。

 public class MessageSourcePropertyEditor extends PropertyEditorSupport { private MessageSourceAccessor messageSourceAccessor; public MessageSourcePropertyEditor(MessageSource messageSource) { this.messageSourceAccessor = new MessageSourceAccessor(messageSource); } @Override public void setAsText(String text) throws IllegalArgumentException { String value = text; if (text.startsWith("i18n:")) { value = messageSourceAccessor.getMessage(text.substring(5)); } setValue(value); } } public class MessageEditorRegistrar implements PropertyEditorRegistrar { private MessageSource messageSource; @Override public void registerCustomEditors(PropertyEditorRegistry registry) { registry.registerCustomEditor(String.class, new MessageSourcePropertyEditor(messageSource)); } public MessageSource getMessageSource() { return messageSource; } public void setMessageSource(MessageSource messageSource) { this.messageSource = messageSource; } } 

并使用前缀i18n:来翻译代码,即