spring mvc中,如何在 Java 代码里,获取 国际化 内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了spring mvc中,如何在 Java 代码里,获取 国际化 内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1729字,纯文字阅读大概需要3分钟。
内容图文
首先,在Spring的application.xml中定义
< bean id ="messageSource" class ="org.springframework.context.support.ResourceBundleMessageSource" > <!-- 国际化信息所在的文件名 --> < property name ="basename" value ="messages/messages" /> <!-- 如果在国际化资源文件中找不到对应代码的信息,就用这个代码作为名称 --> < property name ="useCodeAsDefaultMessage" value ="true" /> </ bean >
其中,id 的值必须是 “messageSource”,否则会报错
首先,我想到的是,既然它是一个被声明好的bean,那么,应该可以使用 @Autowired 标签来绑定吧。于是我写了如下的代码:
public class Const { @Autowired private static ResourceBundleMessageSource rms public static String getTextValue(String key) { return rms.getMessage(key, null, null); } }
rms 的值一直是null,也就是说注入失败了
后来在网上查到,“ApplicationContext” 这个接口继承了“MessageSource”接口,那么我们只要获取项目的 ApplicationContext 的实现类,就可以通过 getMessage() 方法来获取国际化文件内容了。
那么要如何简单方便的来获取 ApplicationContext 的实现类呢?这个时候就需要另一个接口了,即“ApplicationContextAware”,任何类实现这个接口,均会被注入 ApplicationContext 。
public class SpringUtil implements ApplicationContextAware { privatestatic ApplicationContext applicationContext; publicstatic ApplicationContext getApplicationContext() { return applicationContext; } @Override publicvoid setApplicationContext(ApplicationContext arg0) throws BeansException { applicationContext = arg0; } publicstatic Object getBean(String id) { Object object = null; object = applicationContext.getBean(id); return object; } }
当然,必须要将上面的 SpringUtil 类在application.xml文件中配置一下,才能让它被spring框架读取,然后给它注入 ApplicationContext。配置很简单:
< bean id ="SpringUtil" class ="util.SpringUtil" />
这样就行了
public class Const {
public static String getTextValue(String key) {
return SpringUtil.getApplicationContext().getMessage(key, null, null);
}
}
原文:http://www.cnblogs.com/liaojie970/p/7213663.html
内容总结
以上是互联网集市为您收集整理的spring mvc中,如何在 Java 代码里,获取 国际化 内容全部内容,希望文章能够帮你解决spring mvc中,如何在 Java 代码里,获取 国际化 内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。