spring的学习历程之利用MessageSource实现国际化占位符直接输出原因(一)

原创 2015年09月23日 00:14:09


      利用MessageSource实现国际化其中有一个着眼于传递参数给查找的消息,这些参数将被转换为字符串并插入到已查找到的消息中的占位符(译注:资源文件中花括号里的数字即为占位符)。#其中'{0}'会直接输出{0} 这是因为这个单号的原因使得占位符直接输出。

    下面是一个MessageSource的例子:

bean的配置:

<beans>
  <bean id="messageSource"
        class="org.springframework.context.support.ResourceBundleMessageSource">
    <property name="basenames">
      <list>
        <value>format</value>
        <value>exceptions</value>
        <value>windows</value>
      </list>
    </property>
  </bean>
</beans>
这段配置假定在你的classpath中有三个资源文件(resource bundle),它们是formatexceptionswindows。通过ResourceBundle,使用JDK中解析消息的标准方式,来处理任何解析消息的请求。

# in 'format.properties'
message=Alligators rock!

# in 'exceptions.properties' <span style="color:#ff0000;">这里的{0}要写上单引号时要注意了,如果是英文中的单引号,那么就是直接输出占位符来的</span>
argument.required=The<span style="color:#ff6666;"> '{0}'</span> argument is required. 

下面是测试代码。因为ApplicationContext实现也都实现了MessageSource接口,所以能被转型为MessageSource接口

public static void main(String[] args) {
    MessageSource resources = new ClassPathXmlApplicationContext("beans.xml");
    String message = resources.getMessage("message", null, "Default", null);
    System.out.println(message);
String eMessage = mr.getMessage("argument.required",new Object[]{"exception"},"Required",null);
		System.out.println(eMessage);
}


上述程输出的结果:

Alligators rock!
The ‘exception’ argument is required   //如果是英文中的会输出:<span style="font-family: Arial, Helvetica, sans-serif;">The {0} argument is required</span>





spring中MessageSource的配置使用方法1

Spring定义了访问国际化信息的MessageSource接口,并提供了几个易用的实现类。首先来了解一下该接口的几个重要方法:   String getMessage(String code, ...
  • qyf_5445
  • qyf_5445
  • 2012年10月29日 14:52
  • 20350

Java for Web学习笔记(七三):国际化i18n(1)使用Spring框架MessageSource

一般性了解 我们在JSTL fmt[1]中已经接触过国际化i18n,本地化L10n。使用JSTL fmt(Internationalization and Formatting tag library...

读取.Properties配置文件的一些方法

方式一:采用ServletContext读取,读取配置文件的realpath,然后通过文件流读取出来。 因为是用ServletContext读取文件路径,所以配置文件可以放入在web-info的...

【Spring】Spring 利用MessageSource实现国际化

spring中ResourceBundleMessageSource与ReloadableResourceBundleMessageSource查找资源的区别: 1.ResourceBundle...

Spring 利用MessageSource实现国际化

Spring 利用MessageSource实现国际化 spring中ResourceBundleMessageSource与ReloadableResourceBundleMessag...
  • jiana227
  • jiana227
  • 2014年04月09日 10:28
  • 14042

spring中MessageSource实现国际化i18n

Spring定义了访问国际化信息的MessageSource接口,并提供了几个易用的实现类。首先来了解一下该接口的几个重要方法:   String getMessage(String code, ...

Struts2_输出带有占位符的国际化信息

国际化-输出带点位符的国际化信息: 资源文件中的内容如下: welcome={0},欢迎来到北大青鸟{1} 在jsp页面中输出带点位符的国际信息 小明 学习 在Acti...

复习struts2之输出带有占位符的国际化信息

在一个大型应用中,整个应用有大量的内容需要实现国际化,如果我们把国际化的内容都放置在全局资源属性文件中,显然会导致资源文件变的过于庞大、臃肿,不便于维护,这个时候我们可以针对不同模块,使用包范围来组织...
  • w_l_j
  • w_l_j
  • 2012年05月30日 15:19
  • 3048

Spring国际化--从数据库读取messageSource

spring不用读取properties文件来实现国际化,直接从数据库读取国际化信息。 有助于日后的数据管理与维护。将properties文件的管理界面化,数据化。...

struts2国际化---输出带有占位符的国际化信息以及包范围、Action范围资源文件访问

对于上一篇文章,我们只需要做以下修改就可以输出
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring的学习历程之利用MessageSource实现国际化占位符直接输出原因(一)
举报原因:
原因补充:

(最多只允许输入30个字)