Struts2温习(9)--国际化的应用

阅读更多
1. Java对国际化的支持: Java内部使用unicode编码方式。
  1) java.util.Locale 表示了特定的地理、政治和文化地区. 环境信息对象。
            由语言代码和区域代码组成。
             语言代码小写字母: en,zh
             区域代码大写字母: US,CN
  2) java.util.ResourceBundle 用于绑定特定语言环境的资源对象。
             资源文件的命名规范:基本名_语言代码[_区域代码].properties
             默认资源文件名:基本名.properties
            中国:基本名_zh_CN.properties
            美国:基本名_en_US.properties
    
  3) java.text.MessageFormat 用于对含有占位符的字符进行格式化输出。
  4) 编码方式:
     Locale locale = Locale.CHINA;
     ResourceBundle rb  = ResourceBundle.getBundle("资源文件的基本名", locale);
     String value = rb.getString("key");
     String str = MessageFormat.format(value, Object... arguments);
2. Struts2的国际化应用
  1) 在classpath中添加针对特定语言环境的资源文件
  2) 在struts.xml中通过常量配置注册资源文件的基本名:
    
  3) 在JSP页面中,用就可以取出本地化的消息
     Struts2的表单标签都有一个属性key用来取出本地化的消息
  4) 在Action中,可以使用ActionSupport类提供的getText("key", 给占位符传值的对象数组);也可以获取本地化的消息

具体示例
index.jsp
Java代码 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ taglib uri="/struts-tags" prefix="s" %>  
  
  
    
    <s:text name="index_title"/>  
      
      
          
      
      
      
    
    
    
    


JavaCrazyer


I18NAction.java
Java代码 
package com.javacrazyer.action;  
  
import com.opensymphony.xwork2.ActionContext;  
import com.opensymphony.xwork2.ActionSupport;  
  
  
public class I18NAction extends ActionSupport {  
      
    private static final long serialVersionUID = -7001482935770262132L;  
  
    public String execute() throws Exception{  
          
        String i18nStr = this.getText("welcome", new String[]{"wrr"});  
          
        ActionContext.getContext().put("msg", i18nStr);  
          
        return SUCCESS;  
    }  
} 


资源文件:msg_en_US.properties
Java代码 
index_title=Struts2 I18N APP Demo  
welcome=Welcome {0}\!  

资源文件:msg_zh_CN.properties

Struts2温习(9)--国际化的应用_第1张图片

Java代码 
#这里放置中文消息键/值对  
index_title=Struts2\u56FD\u9645\u5316\u5E94\u7528\u793A\u4F8B  
welcome=\u6B22\u8FCE{0}\u60A8\u7684\u5230\u6765\uFF01  
 

src/struts.xml
Html代码 
  
  
  
  
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
      
          
            /success.jsp  
          
      
      
  
  

succ.jsp
Java代码 
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
<%@ taglib uri="/struts-tags" prefix="s" %>  
  
  
    
    <s:text name="index_title"/>  
      
      
          
      
      
      
    
    
    
    




一般情况下我们浏览器默认语言都是中文,运行呈程序效果如下


Struts2温习(9)--国际化的应用_第2张图片

如果更换浏览器语言为英语【美国】,那么重新刷新页面,结果就是英文界面如下

Struts2温习(9)--国际化的应用_第3张图片




  • Struts2温习(9)--国际化的应用_第4张图片
  • 大小: 6.1 KB
  • Struts2温习(9)--国际化的应用_第5张图片
  • 大小: 7.4 KB
  • Struts2温习(9)--国际化的应用_第6张图片
  • 大小: 3 KB
  • 查看图片附件

你可能感兴趣的:(Struts,Java,ITeye,JSP,浏览器)