在我的Web应用程序中,我有一个场景,比如我需要从属性文件中读取值,并且值必须在spring bean中动态更新。我创建了键值对,如下所示,
message1=Hi {0} welcome. Your last signed in was {1}
如何替换{0}和{1}的值。我在春天使用属性占位符配置器读取了值。
答案 0 :(得分:0)
您必须使用MessageSource
在你的applicationContext中添加:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
</bean>
在你的javacode中你可以写:
ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
//...
String name = context.getMessage("message1", new Object[] { "user XY", "05.05.2010" }, Locale.US);
您甚至可以为不同的语言使用不同的message.properties文件:然后您必须命名这些文件:[filename] _ [languageCode](即messages_en_US.properties
或messages_de_DE.properties
)。并更改getMessage
方法的第3个参数。