如何在Spring应用程序中处理国际化(在类中)

时间:2014-09-29 12:58:33

标签: java spring jsp

我已经知道如何在JSP页面中使用<spring:message code="xxx"/>处理Spring应用程序中的国际化。现在我的用户可以使用像

这样的简单链接来更改语言

<a href="?lang=it">IT</a><a href="?lang=en">EN</a>

现在,我必须在课堂内处理国际化。这就是我所做的:

1)我创建了一个text.xml文件来识别我的文本

.....
<bean id="messageSource"  class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basename" value="struttura"></property>     
</bean>
......

2)我根据不同语言创建了不同的属性文件

3)我使用此方法根据语言环境

获取消息
......
ApplicationContext context =  new ClassPathXmlApplicationContext("text.xml");
String stringa = context.getMessage("textCode",null, locale);
.......

一切正常。但我确信这不是最快,最干净的方法。它看起来太复杂了!

有人知道更好的方法来实现我的目标吗?

1 个答案:

答案 0 :(得分:4)

MessageResource是一个Spring托管bean,所以你可以将它注入你的控制器(或其他Spring托管类):

@Autowired 
private MessageSource messageResource;