struts2_国际化问题及原理

错误信息的提示,这里用到国际化,步骤如下:

  • 在Action目录下的创建properties文件:

properties文件的格式为:  package_语言名_国家名.properties (如果不加语言名和国家名,package.properties.那么当没有指定的时候就会默认调用这个properties)

 

  • 编辑properties文件:

key值要相同,value值不同.

  • 指定<message>标签中的key值

struts2框架中的国际化其实是调用JDK来实现的,其中有两个类:LocaleResourceBundle

通过Locale得到所有国家名和语言名:

 1 package com.sunflower.internationalization;
 2 
 3 import java.util.Locale;
 4 
 5 public class WholeLanguage {
 6 
 7     public static void main(String[] args) {
 8 
 9         Locale[] locals = Locale.getAvailableLocales();
10 
11         System.out.println("得到所有国家信息:");
12         System.out.println("----------------------------------------------");
13         for (Locale local : locals) {
14             System.out.println(local.getDisplayCountry() + ":" + local.getCountry());
15         }
16 
17         System.out.println("得到所有国家语言信息:");
18         System.out.println("----------------------------------------------");
19         for (Locale local : locals) {
20             System.out.println(local.getDisplayLanguage() + ":" + local.getLanguage());
21         }
22     }
23 }

通过ResourceBundle得到国际化的值:

其中"test"是baseName,例如test_zh_CN.propertiestest_en_US.properties.(test.properties为默认的调用),"hello"为key值

原文地址:https://www.cnblogs.com/hanyuan/p/internationalization.html