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

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

struts2_国际化问题及原理

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

 

  • 编辑properties文件:

struts2_国际化问题及原理

struts2_国际化问题及原理

key值要相同,value值不同.

 

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

struts2_国际化问题及原理

 

 

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得到国际化的值:

struts2_国际化问题及原理

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

 

相关文章:

  • 2022-12-23
  • 2021-11-14
  • 2022-01-09
  • 2022-01-14
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2021-08-03
猜你喜欢
  • 2022-02-17
  • 2021-12-18
  • 2021-09-15
  • 2021-09-07
  • 2022-12-23
  • 2022-12-23
  • 2021-09-05
相关资源
相似解决方案