- 浏览: 967633 次
- 性别:
- 来自: 江西上饶
-
文章分类
- 全部博客 (460)
- p.spring (56)
- p.maven (20)
- p.ant (17)
- p.jee (18)
- p.jse (33)
- p.ofbiz (31)
- p.软件工程 (8)
- p.struts2 (5)
- p.hibernate (5)
- linux (25)
- 设计模式 (2)
- p.javascript (11)
- 硬件 (1)
- p.jsp (2)
- p.windows批处理 (1)
- 操作系统问题 (5)
- 算法 (1)
- p.mysql (7)
- p.sql (5)
- p.c (1)
- google产品 (0)
- 内存 (1)
- p.struts (1)
- p.freemarker (7)
- p.css (4)
- p.log4j (10)
- p.html (3)
- 淘宝产品 (0)
- 其他 (3)
- 编译器 (0)
- svn (4)
- p.spring.security (11)
- 图形 (0)
- p.xml (1)
- p.ssh (0)
- p.jquery (4)
- p.jdbc (3)
- p.flex (0)
- p.c++ (0)
- p.c#Net (0)
- p.assembly (0)
- p.sqlserver (0)
- p.其他 (3)
- p.webwork (21)
- p.wap (12)
- p.cglib (1)
- p.jee服务器 (11)
- windows (2)
- p.iphone (1)
- p.java.分布式与集群 (2)
- p.ibatis (16)
- p.eclipse (5)
- 架构 (2)
- http协议 (5)
- 我的个人标准 (2)
- 多线程 (1)
- 奇怪问题 (5)
- p.jira (13)
- p.httpclient (1)
- 服务器.apache (11)
- 安全防范 (1)
- p.PODAM (1)
- p.junit (16)
- fop (2)
- 硬盘安装 (1)
- powerdesigner (0)
- 单元测试 (1)
- apache commons (4)
- tomcat+apache集群 (10)
- 各类诡辩 (1)
- 安卓 (8)
- qvod (1)
- java编程基础知识考试考点及答案 (0)
- 工作总结 (4)
- oracle (0)
- spring的util工具 (3)
- json (2)
- maven (3)
- jms (19)
- p.bat (3)
- hadoop (2)
- git (3)
- nginx (1)
- p.移动开发 (1)
- shiro (3)
- 游戏破解 (1)
- react-native (7)
- ios开发 (1)
- webmagic (6)
- socks5 (1)
最新评论
-
weituotian:
说的不好,没人看的
公司系统中的菜单功能和权限功能 -
石不易:
非常详细的注解~
绑定端口和IP,Listen 与VirtualHost指令 -
spring_springmvc:
spring mvc demo教程源代码下载,地址:http: ...
spring mvc -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装 -
liyixing1:
PandaDONG 写道谢谢你啊,我已经下下来了,只是还有很多 ...
jira war安装
ApplicationContext专用特性
ApplicationContext接口扩展了MessageSource接口,因而提供了消息处理的功能(i18n或者国际化)。与HierarchicalMessageSource一起使用,它还能够处理嵌套的消息,这些是Spring提供的处理消息的基本接口。让我们快速浏览一下它所定义的方法:
String getMessage(String code, Object[] args, String default, Locale loc):用来从MessageSource获取消息的基本方法。如果在指定的locale中没有找到消息,则使用默认的消息。args中的参数将使用标准类库中的MessageFormat来作消息中替换值。
String getMessage(String code, Object[] args, Locale loc):本质上和上一个方法相同,其区别在:没有指定默认值,如果没找到消息,会抛出一个NoSuchMessageException异常。
String getMessage(MessageSourceResolvable resolvable, Locale locale):上面方法中所使用的属性都封装到一个MessageSourceResolvable实现中,而本方法可以指定MessageSourceResolvable实现。
当一个ApplicationContext被加载时,它会自动在context中查找已定义为MessageSource类型的bean。此bean的名称须为messageSource。如果找到,那么所有对上述方法的调用将被委托给该bean。否则ApplicationContext会在其父类中查找是否含有同名的bean。如果有,就把它作为MessageSource。如果它最终没有找到任何的消息源,一个空的StaticMessageSource将会被实例化,使它能够接受上述方法的调用。
Spring目前提供了两个MessageSource的实现:ResourceBundleMessageSource和StaticMessageSource。它们都继承NestingMessageSource以便能够处理嵌套的消息。StaticMessageSource很少被使用,但能以编程的方式向消息源添加消息。ResourceBundleMessageSource会用得更多一些,为此提供了一下示例:
com.liyixing.spring.properties包下面有
format_en_GB.properties文件
test.mesage = 123
test.mesage = 456
format_zh.properties文件
<beans>
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>com.liyixing.spring.properties.format</value>
</list>
</property>
</bean>
</beans>
String a = context.getMessage("test.mesage", null, "Default", null);
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "beans.xml", "beans1.xml" });
IAccount accountService = (IAccount) context.getBean("accountService");
IDownload download = (IDownload) context.getBean("downloadService");
Account account = (Account) context.getBean("account");
String a = context.getMessage("test.mesage", null, "Default",
new Locale("en", "GB"));
String b = context.getMessage("test.mesage", null, "Default",
new Locale("zh"));
结果
ApplicationContext接口扩展了MessageSource接口,因而提供了消息处理的功能(i18n或者国际化)。与HierarchicalMessageSource一起使用,它还能够处理嵌套的消息,这些是Spring提供的处理消息的基本接口。让我们快速浏览一下它所定义的方法:
String getMessage(String code, Object[] args, String default, Locale loc):用来从MessageSource获取消息的基本方法。如果在指定的locale中没有找到消息,则使用默认的消息。args中的参数将使用标准类库中的MessageFormat来作消息中替换值。
String getMessage(String code, Object[] args, Locale loc):本质上和上一个方法相同,其区别在:没有指定默认值,如果没找到消息,会抛出一个NoSuchMessageException异常。
String getMessage(MessageSourceResolvable resolvable, Locale locale):上面方法中所使用的属性都封装到一个MessageSourceResolvable实现中,而本方法可以指定MessageSourceResolvable实现。
当一个ApplicationContext被加载时,它会自动在context中查找已定义为MessageSource类型的bean。此bean的名称须为messageSource。如果找到,那么所有对上述方法的调用将被委托给该bean。否则ApplicationContext会在其父类中查找是否含有同名的bean。如果有,就把它作为MessageSource。如果它最终没有找到任何的消息源,一个空的StaticMessageSource将会被实例化,使它能够接受上述方法的调用。
Spring目前提供了两个MessageSource的实现:ResourceBundleMessageSource和StaticMessageSource。它们都继承NestingMessageSource以便能够处理嵌套的消息。StaticMessageSource很少被使用,但能以编程的方式向消息源添加消息。ResourceBundleMessageSource会用得更多一些,为此提供了一下示例:
com.liyixing.spring.properties包下面有
format_en_GB.properties文件
test.mesage = 123
test.mesage = 456
format_zh.properties文件
<beans>
<bean id="messageSource"
class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>com.liyixing.spring.properties.format</value>
</list>
</property>
</bean>
</beans>
String a = context.getMessage("test.mesage", null, "Default", null);
ApplicationContext context = new ClassPathXmlApplicationContext(
new String[] { "beans.xml", "beans1.xml" });
IAccount accountService = (IAccount) context.getBean("accountService");
IDownload download = (IDownload) context.getBean("downloadService");
Account account = (Account) context.getBean("account");
String a = context.getMessage("test.mesage", null, "Default",
new Locale("en", "GB"));
String b = context.getMessage("test.mesage", null, "Default",
new Locale("zh"));
结果

发表评论
-
Spring 定时任务,cron表达式,@Scheduled cron表达式
2016-04-25 15:48 5314一个cron表达式有至少6 ... -
spring mvc list
2015-12-14 10:28 1300我使用这样无法传入 @requestMapping(" ... -
Unable to locate Spring NamespaceHandler for XML schema namespace
2015-09-23 14:00 2340org.springframework.beans.facto ... -
关于使用s.url jstl的上下文
2015-08-16 13:28 934比如 [@s.url '/'/]index.html?cote ... -
Spring 属性占位符配置器 PropertyPlaceholderConfigurer
2015-08-02 12:43 2098<!-- 属性配置文件读 ... -
FactoryBean接口
2014-09-30 14:05 917实现了FactoryBean接口的bean不是简单的一个bea ... -
国际化之MessageSourceAware和MessageSourceAccessor
2014-01-06 23:13 2870先看接口MessageSourceAware 该接口的注释中 ... -
spring 惯例优先原则
2013-07-22 09:46 1227惯例优先原则(convention over configur ... -
ant path匹配
2013-07-22 09:40 2187spring和ant path实现相关的主要类有两个 org. ... -
springmvc action方法中参数具有@ModelAttribute与不具有的区别
2012-12-14 09:36 4136在springmvc的参数解析中,发现具有@ModelAttr ... -
util包
2012-12-05 13:50 1124spring的util基本上都在springframework ... -
url,请求相关帮助类UrlPathHelper
2012-11-29 11:18 2541org.springframework.web.util.Ur ... -
整站国际化方案
2012-11-28 17:46 1122当前常见的实现方式,主要由两种方案实现 1.通过locale ... -
spring的三种注入方式
2012-11-20 17:30 18811.通过bean的property子元 ... -
spring AnnotationUtils 注解工具
2011-12-08 11:27 1317spring AnnotationUtils 注解工具 -
GenericCollectionTypeResolver,用于获取list或者map等元素的类型
2011-12-07 16:17 1324GenericCollectionTypeResolver,用 ... -
属性编辑器
2011-12-05 18:19 1094我自定义了一个类型,然后设置了一个属性编辑器,注册的class ... -
iframe下面的session问题
2011-12-04 19:52 5347在写iframe完成长连接获取上传状态的时候,有两次请求,一次 ... -
mvc之类的驱动原理
2011-12-01 09:34 1114<mvc:annotation-driven /> ... -
Couldn't access current invocation
2011-10-20 20:44 1913做了一个aop的日志记录器,但是在运行的时候出现了日志信息 服 ...
相关推荐
在本项目中,"springboot+beetl 实现国际化多语言切换.zip" 提供了一个使用Spring Boot和Beetl模板引擎实现Web应用国际化的实例。这个压缩包包含了一个名为"springboot-beetl-i18n"的子目录,里面应该有相应的源码和...
在Spring MVC中实现国际化(i18n)是为用户提供多语言支持的重要功能,这使得应用能够适应全球不同地区的用户需求。本项目是基于Eclipse开发的一个实战示例,包含了实现国际化所需的所有配置和代码,可以直接导入并...
在SSM框架上实现国际化和多语言功能,可以使得应用程序能够适应不同国家和地区用户的语言需求,提升用户体验。以下将详细介绍如何在SSM框架中实现这一功能。 首先,我们需要理解“国际化”(Internationalization)...
在Spring框架中,实现国际化(Internationalization,简称i18n)是常见的需求,它使得应用程序可以根据用户所在的地区提供不同的语言版本。以下是一个详细的步骤,解释如何在Spring应用中实现国际化。 1. **理解...
8. **国际化与本地化**:SpringSide4支持多语言环境,通过Spring的ResourceBundle和MessageSource实现国际化和本地化,适应全球化需求。 9. **安全控制**:项目集成了Spring Security,提供了一套完整的权限管理和...
12. **国际化与本地化**:SpringMVC支持多语言环境,通过LocaleResolver和MessageSource实现国际化和本地化。 总之,SpringMVC是一个强大且灵活的Web开发框架,它简化了MVC模式的实现,提高了开发效率,同时也提供...
12. **国际化和本地化**:Spring支持多语言环境,通过ResourceBundle和MessageSource实现国际化和本地化。 13. **安全管理**:Spring Security是Spring的一个子项目,提供了一套全面的安全管理解决方案,包括认证、...
8. **国际化**:Spring支持多语言环境,示例将展示如何配置并使用ResourceBundle和MessageSource实现国际化。 9. **安全性**:Spring Security是Spring的一个重要模块,用于处理认证和授权。通过示例,你可以学习...
SpringBoot 消息国际化配置实现过程解析 SpringBoot 消息国际化配置实现过程解析是指在 SpringBoot 项目中实现消息国际化配置的过程。该过程主要涉及到消息配置文件的管理、语言信息的设置、LocaleContext 的使用、...
Spring MVC提供对多语言环境的支持,通过LocaleResolver和MessageSource实现国际化。主题(Theme)功能则允许应用具有多套外观和风格。 十、MVC测试 Spring 3.0提供模拟HTTP请求的MockMvc工具,方便进行单元测试和...
SpringMVC可以通过ResourceBundle和MessageSource实现国际化,通过ThemeResolver实现主题切换,提供不同语言和风格的用户界面。 9. **SpringMVC与Spring Boot的整合** Spring Boot简化了Spring应用的启动和配置,...
### Spring 实现国际化 (i18n) 的关键技术点 #### 一、国际化(i18n)在Spring中的重要性及应用场景 国际化(Internationalization,简称i18n)是指设计和开发软件产品时,使得产品能在各种语言和区域环境中进行...
在Spring框架中,ApplicationContext是IoC容器的核心,它不仅负责管理Bean,还提供了实现国际化(i18n)的功能。国际化使应用程序能够适应不同语言和地区的用户,无需修改代码即可提供多语言支持。Spring通过实现...
Spring MVC通过MessageSource接口来处理国际化信息。我们创建一系列资源文件,如`messages.properties`(默认英语)和`messages_zh_CN.properties`(简体中文),并将这些文件放在项目的`src/main/resources`目录下...
在本文中,我们将深入探讨如何在Spring框架中利用`messageSource`与Ehcache整合,以实现国际化(i18n)功能并优化提示语句的数据库读取性能。`messageSource`是Spring提供的一种用于处理多语言环境下的消息管理机制,...
Java实现国际化是一个重要的技术主题,尤其对于开发面向全球用户的软件来说。这个过程涉及到将应用程序的文本、日期格式、数字格式等本地化,以便适应不同国家和地区的语言与文化习惯。在Java中,这一功能主要通过...
2. 配置MessageSource Bean:在Spring MVC的配置文件(如springservlet-config.xml)中添加一个MessageSource Bean,这个Bean用来指定国际化资源文件的位置。在该Bean中,需要设置basename属性,其值为基本名称加上....
通过这个整合实例,开发者不仅可以学习到如何将这些流行的技术集成在一起,还能了解如何在实际项目中实现国际化,提高应用的可用性和灵活性。这个Demo为初学者提供了实践机会,同时也为有经验的开发者提供了一个快速...
在实现国际化时,可能会涉及到对搜索关键词的处理,比如拼音转换、词语切分等。这些功能可能与特定的区域设置有关,例如,中文搜索可能需要考虑词语的顺序、全角/半角字符的转换等问题。 在源码中,我们可能会看到...
Spring和其它的框架一样,也提供了国际化功能,它是通过MessageSource接口来实现的 ApplicationContext接口继承了MessageSource 。 MessageSource接口方法