1.在工程的资源文件夹(source folder)中建立三个properties文件:messages.properties(默认)、messages_zh_CN.properties(中文)、messages_en_US.properties(英文)。

  properties文件中的字符串资源采用键值对的格式填写信息,如下:

    HelloWorld=问候语:@0 问候时间:@1;

  2.获取国际化字符串的工具类 UniversalMsg:

  

package com.luxl.action;

import java.util.Locale;
import java.util.ResourceBundle; /**
* @description 用于获取国际化字符串
* @author luxl
*
*/
public class UniversalMsg {
//下面中的参数messages是资源文件的起始字段,但要求资源文件在资源文件夹下,如果是在资源文件夹下的某个文件夹下,比如i18n,则参数值应该为为i18n/messages
private static ResourceBundle rb_ch = ResourceBundle.getBundle("messages",Locale.CHINA); private static ResourceBundle rb_en = ResourceBundle.getBundle("messages", Locale.US); /**
* @description 获取key的国际化字符串
* @param locale 语种:中文(Locale.CHINA),英文(Locale.US)
* @param key 要获取的字符串的key
* @return
* @throws Exception
*/
public static String getString(Locale locale, String key) throws Exception{
if(key!=null && (!key.trim().isEmpty())){
if(locale.equals(Locale.CHINA)){
return rb_ch.getString(key);
}else{
return rb_en.getString(key);
}
}else{
return "";
}
} /**
* @description 获取key的中文字符串
* @param key
* @return
* @throws Exception
*/
public static String getString(String key) throws Exception{
if(key!=null && (!key.trim().isEmpty())){
return rb_ch.getString(key);
}else{
return "";
}
} }

  3.应用举例:

try {
String us_msg;
us_msg = UniversalMsg.getString(Locale.US,"HelloWorld");
us_msg = us_msg.replaceAll("@0", helloWorld.getMsg());
us_msg = us_msg.replaceAll("@1", Calendar.getInstance().getTime().toString());
System.out.println(us_msg);
} catch (Exception e) {
// TODO Auto-generated catch block
System.out.println("error");
e.printStackTrace();
}

注:如果没有找到相对应key的字符串,会抛出异常。

Spring中后台字符串国际化的更多相关文章

  1. spring中后台接收参数总结

    @RequestParam注解用于将指定的请求参数赋值给方法的参数 @RequestMapping(“/login”) public void login(@RequestParam(name=“lo ...

  2. spring中使用i18n(国际化)

    简单了解i18n i18n(其来源是英文单词internationalization的首末字符i和n,18为中间的字符数)是“国际化”的简称.在资讯领域,国际化(i18n)指让产品(出版物,软件,硬件 ...

  3. 第5章—构建Spring Web应用程序—关于spring中的validate注解后台校验的解析

    关于spring中的validate注解后台校验的解析 在后台开发过程中,对参数的校验成为开发环境不可缺少的一个环节.比如参数不能为null,email那么必须符合email的格式,如果手动进行if判 ...

  4. Spring中文文档

    前一段时间翻译了Jetty的一部分文档,感觉对阅读英文没有大的提高(*^-^*),毕竟Jetty的受众面还是比较小的,而且翻译过程中发现Jetty的文档写的不是很好,所以呢翻译的兴趣慢慢就不大了,只能 ...

  5. spring接收json字符串的两种方式

    一.前言 前几天遇到一个问题,前端H5调用我的springboot一个接口(post方式,@RequestParameter接收参数),传入的参数接收不到.自己测试接口时使用postman的form- ...

  6. Spring中ApplicationContext和beanfactory区别---解析一

    BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...

  7. Spring中ApplicationContext和beanfactory区别

    BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP ...

  8. Spring中的容器

    1.Spring容器 Spring容器最基本的接口就是BeanFactory, 负责配置,创建和管理bean.我们通常不直接使用BeanFactory接口,而是使用其子接口ApplicationCon ...

  9. 用IDEA详解Spring中的IoC和DI(挺透彻的,点进来看看吧)

    用IDEA详解Spring中的IoC和DI 一.Spring IoC的基本概念 控制反转(IoC)是一个比较抽象的概念,它主要用来消减计算机程序的耦合问题,是Spring框架的核心.依赖注入(DI)是 ...

随机推荐

  1. 剑指Offer14 逆序链表

    /************************************************************************* > File Name: 14_Revers ...

  2. JAVA之执行cmd命令

    感言在前:时隔好久没有更新博客园了,忙东忙西也没忙出个什么之所以然来.回首过去一两个月,只能用“疲倦”两个字来形容,而且是身心疲惫.每天11.12个小时的工作我都没觉得烦,但是总是想克服却又很难克服的 ...

  3. 推荐5 款WordPress主题后台选项开发框架

    在开发WordPress 主题的时候,借用成熟的WordPress 主题后台选项开发框架可以为我们省下不少功夫.相信你接触过不少国人做的所谓“原创”主题,一看后台都是千篇一律的界面(连CSS 都懒得改 ...

  4. php数组中删除元素之重新索引

    如果要在某个数组中删除一个元素,可以直接用的unset,但今天看到的东西却让我大吃一惊 <?php $arr = array('a','b','c','d'); unset($arr[1]); ...

  5. Linux中shell命令的用法和技巧

    使用Linux shell是我每天的基本工作,但我经常会忘记一些有用的shell命令和l技巧.当然,命令我能记住,但我不敢说能记得如何用它执行某个特定任务.于是,我开始在一个文本文件里记录这些用法,并 ...

  6. php中simplexml_load_string使用实例

    先用一段代码重现一下问题 乍一看,结果很让人费解: 代码如下 复制代码 <?php $string = <<<EOF <data> <foo><b ...

  7. SQL Server 2008R2 禁用远程连接

    很多人在开发过程中都会用多数据库(这里仅讨论MSSQL),也都会在服务器上装MSSQL,在你装上MSSQL后,机器上的1433端口就被激活了.如果你的服务器是在内网,也许不用过多的关注,如果你的服务器 ...

  8. Oracle 联合主键

    alter table NCJSYD add constraints NCJSYD_pk primary key (YR,DQ);

  9. Cocos2d-JS中的文本菜单

    文本菜单是菜单项只能显示文本,文本菜单类包括了cc.MenuItemLabel.cc.MenuItemFont和cc.MenuItemAtlasFont.cc.MenuItemLabel是个抽象类,具 ...

  10. 20141128--JavaScript HTML DOM

    通过 HTML DOM,可访问 JavaScript HTML 文档的所有元素. HTML DOM 当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model). 每个 ...