spring的学习历程之利用MessageSource实现国际化占位符直接输出原因(一)
2015-09-23 00:14
721 查看
利用MessageSource实现国际化其中有一个着眼于传递参数给查找的消息,这些参数将被转换为字符串并插入到已查找到的消息中的占位符(译注:资源文件中花括号里的数字即为占位符)。#其中'{0}'会直接输出{0} 这是因为这个单号的原因使得占位符直接输出。
下面是一个MessageSource的例子:
bean的配置:
下面是测试代码。因为
上述程输出的结果:
下面是一个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),它们是
format,
exceptions和
windows。通过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>
相关文章推荐
- JAVA基础学习(十四)--集合一List和HashSet
- ODL openflowjava和openflowplugin的启动流程,代码详解。
- 使用Spring Mail发送QQ邮件
- Java正则表达式基础入门知识
- Java正则表达式使用
- 打造高性能Java应用需掌握的5大知识
- Spring IOC容器基本原理
- java-邮件发送-mail.jar
- Spring4.1.1.RELEASE和quartz2.1.7整合
- Spring 4.2 方法注入解决单例Bean的原型Bean依赖问题
- AKKA文档(java版)—角色
- Java在生活有哪些应用?
- Java内存管理器
- JAVA 虚函数 抽象函数 抽象类 接口
- SpringMVC常见错误处理
- SpringMVC上传文件
- Java多线程
- Java下载中文名文件乱码问题
- Java基础之自动装箱和自动拆箱源码分析
- Java基础之内存管理原理及内存区域详解