`
chenfeicqq
  • 浏览: 258348 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Spring国际化组件MessageSource对XML的支持

阅读更多
国际化文件通常使用xml或者properties文件

properties文件难以存放较复杂的信息,比如一些HTML标签。

由于项目中存在一些国际化内容(布局、样式、文案都不一样)难以在properties文件国际化,而xml则可以较好的支持,读Spring源码(org.springframework.context.support.ReloadableResourceBundleMessageSource)发现,其支持xml和properties两种格式。

		Resource resource = this.resourceLoader.getResource(filename + PROPERTIES_SUFFIX);
		if (!resource.exists()) {
			resource = this.resourceLoader.getResource(filename + XML_SUFFIX);
		}


当国际化资源文件为xml时,其使用java.util.Properties在JDK1.5之后新增的loadFromXML方法实现xml文件的解析。

进一步深入发现Java对xml格式的资源定义了"http://java.sun.com/dtd/properties.dtd"来规范,并以此来验证xml资源文件的正确性。

示例XML文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
	<comment>公共</comment>
	<entry key="common.platform.name">AliData</entry>
	<entry key="common.menu.home">Home</entry>
	<entry key="common.menu.industryInsight">Industry Insight</entry>
</properties>


Spring的MessageSource的使用方式不变,在此不在叙述。

原创:转载请注明出处http://chenfeicqq.iteye.com/blog/1874107
分享到:
评论

相关推荐

    spring国际化实例

    在Spring框架中,实现国际化主要依赖于两个关键组件:`ResourceBundle`和`MessageSource`。`ResourceBundle`是Java标准库中的类,用于管理不同语言和地区的文本资源。`MessageSource`则是Spring提供的接口,它允许你...

    java国际化组件

    Java国际化组件是Java开发中一个重要的功能...5. Spring框架提供的国际化支持,如`MessageSource`和`@MessageSource`注解。 通过理解并熟练应用这些知识点,开发者可以构建出能够适应全球用户需求的多语言应用程序。

    spring boot国际化 i18n

    Spring Boot的国际化(i18n)功能使得开发者可以轻松地为应用程序提供多语言支持,以便用户可以根据他们的偏好选择不同的语言界面。以下是对这个主题的详细讲解。 首先,我们需要了解i18n这个术语,它是...

    Maven + Spring mvc + Mybatis + Velocity +国际化配置 demo

    例如,需要在Spring的配置文件中声明对MVC、Mybatis和Velocity的支持,同时设置国际化配置。在Maven的`pom.xml`中,添加相关库的依赖。在完成配置后,通过Maven构建项目,确保所有组件能够正常工作。 通过这个整合...

    spring国际化jsp

    总结一下,Spring的国际化功能结合了资源文件、MessageSource、fmt标签和LocaleResolver,为Web应用提供了灵活的多语言支持。在JSP中使用这些组件,可以使应用程序能够根据用户的语言设置显示相应的文字,从而提高...

    10 扩展之Spring MVC中如何实现国际化i18n慕课专栏1

    Spring MVC通过`ResourceBundleMessageSource`类对Java的`ResourceBundle`进行封装,简化了国际化处理流程。 在Spring MVC中实现i18n,首先要创建一个最小化的Spring MVC项目。这通常包括以下几个步骤: 1. 创建一...

    spring2.0升级到spring3.0.5的开发包

    8. **国际化支持**:Spring 3.0的MessageSource接口提供了更好的国际化支持,可以更方便地处理多语言环境。 9. **测试框架增强**:Spring 3.0的测试支持更加完善,包括对Mockito等第三方库的集成,使得单元测试和...

    spring2.0 jar包

    6. **国际化支持**:Spring 2.0引入了MessageSource接口,方便地实现了应用的国际化和本地化,使多语言环境下的应用开发变得简单。 7. **portlet支持**:Spring 2.0开始支持portlet开发,为构建portlet应用提供了...

    springframework2.0

    7. **国际化和本地化**:Spring 2.0支持多语言环境,通过ResourceBundle和MessageSource接口,开发者可以轻松实现应用的国际化和本地化。 8. **测试支持**:Spring 2.0提供了全面的测试框架,包括Mock对象、JUnit...

    Spring3.0Jar包

    10. **国际化支持**:Spring 提供了 `MessageSource` 接口,用于处理多语言消息,使得应用能够适应不同地区的用户需求。 11. **Spring Test**:Spring 3.0 强化了测试支持,提供了 `@ContextConfiguration` 和 `@...

    spring 2.5中文帮助文档

    8. **国际化(i18n)与本地化(l10n)**:Spring 2.5提供了对国际化和本地化的良好支持,通过ResourceBundle和MessageSource接口,可以轻松地处理多语言环境下的应用。 9. **Spring Web Services**:Spring 2.5开始...

    spring security国际化及UserCache的配置和使用

    "Spring Security 国际化及 UserCache 配置和使用" Spring Security 是一个功能强大且灵活的安全框架,它提供了许多实用的特性来帮助开发者保护 Web 应用程序。今天,我们将探讨 Spring Security 中的国际化和 ...

    spring2.5.6.zip

    5. **国际化支持**:通过MessageSource接口,Spring 2.5.6提供了强大的国际化功能,使得应用可以轻松地适应不同语言环境。 二、Spring 2.5.6的模块组成 Spring框架由多个模块组成,包括Core Container(核心容器)...

    spring-spring-framework-4.3.24.RELEASE.zip

    8. **国际化和本地化**:Spring通过MessageSource接口处理多语言环境下的文本消息。在`org.springframework.context.support`包中,我们可以找到实现这一功能的类。 9. **任务调度**:Spring的Task模块提供了异步...

    传智播客 spring2.5源代码_lib包

    9. **国际化(i18n)与本地化(l10n)**: Spring支持应用程序的国际化和本地化,通过资源bundle管理和`MessageSource`接口,可以轻松处理不同地区的文本和格式。 10. **Spring AOP增强**: Spring 2.5的AOP增强了对...

    spring2.5.6jar包

    10. **国际化支持**:Spring提供了对多语言环境的支持,可以通过ResourceBundle和MessageSource接口实现应用的国际化。 总的来说,Spring 2.5.6作为一款成熟的框架,尽管已有更新的版本,但它在企业级应用开发中仍...

    spring2.5中文文档(PDF)

    8. **国际化支持**:通过`MessageSource`接口,Spring 2.5提供了强大的国际化支持,方便应用根据不同地区显示不同语言的内容。 9. **容器改进**:Spring 2.5的容器性能有所提升,启动速度更快,同时提供了更多的...

    Spring2.5中文手册

    - Spring支持多语言环境,提供了`MessageSource`接口用于处理国际化和本地化。 - 开发者可以通过配置或注解来指定消息资源文件,实现动态替换文本。 9. **单元测试** - Spring Test模块提供了对Spring应用进行...

    Spring API

    10. **国际化(i18n)支持**:Spring2.0提供了对多语言环境的支持,通过ResourceBundle和MessageSource接口,可以轻松实现应用的国际化。 总的来说,Spring2.0的API文档是理解并有效利用Spring框架进行开发的重要...

    spring3.2.6源码文件

    10. **国际化和本地化**:Spring提供了处理多语言环境的工具,如MessageSource接口,可以轻松实现应用程序的国际化和本地化。 通过深入学习和研究Spring 3.2.6源码,开发者不仅可以理解Spring的工作机制,还能学习...

Global site tag (gtag.js) - Google Analytics