如何使用注释从spring控制器中的messages.properties文件访问属性。
请提供一个例子。
答案 0 :(得分:13)
我使用了MessageSource:
@Autowired
private MessageSource messageSource;
...
private EventByDate createDefaultEventByDate(String date, Long barId, String locale) {
Event defaultEvent = new Event();
Locale localeValue = new Locale(locale);
defaultEvent.setTitle(messageSource.getMessage("default.event.title", null, "DefaultTitle", localeValue));
defaultEvent.setText(messageSource.getMessage("default.event.text", null, "DefaultText", localeValue));
...
}
答案 1 :(得分:0)
首先,您需要在dispatcher-servlet.xml文件中定义属性占位符,如下所示。
<util:properties id="messageProperties" location="/messages.properties"/>
您需要更改messages.properties文件的路径。
然后您可以在@Value
注释的帮助下访问属性文件值。
private @Value("#{messageProperties['your.message.code']}") String message;
希望这会对你有所帮助。欢呼声。
答案 2 :(得分:0)
以下是dispatcher-servlet.xml
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:annotation-config/>
<util:properties id="messageProperties" location="/messages.properties"/></beans></pre>
正如您提到的控制器我使用与我的属性相同的代码。并且它无法解析@Value注释。