Struts1.x系列教程(16):使用LocaleAction类实现国际化的Web程序

  我们曾经在 《Struts1.x系列教程(13):国际化》 一文中讲过如何通过编程的方式实现多语言的Web 页面。在本文中,我们会介绍另外一种实现多语言Web 页面的方法。这种方式与 《Struts1.x系列教程(13):国际化》 一文中 所介绍的方法的区别就是无需编写一行代码就可以完成多语言的设置。
Struts 提供了一个LocaleAction 类来做这个工作。LocaleAction类是一个final动作 类,因此,LocaleAction类不能被继承 。我们可按着如下两步来使用LocaleAction 类进行多语言设置:
    1. 
配置一个动态Form (当然,也可以使用ActionForm 的子类,但为了方便,建议使用动态Form )。这个动态Form 至少得有一个表示语言的language 属性(如zh fr en jp 等)。我们还可以加一个表示国家或地区的country 属性(US CN TW )
2.  使用<action> 元素配置一个Struts 动作。这个Struts 动作的type 属性值是org.apache.struts.actions.LocaleAction name 属性值就是在第1 步配置的动作Form name 属性值。而且在<action>元素 中必须有一个名为“success ”的<forward> 元素。如果语言设置成功,页面就会forward 到“success ”所指向的页面。
下面我们来举一个使用LocaleAction 动作类设置语言的例子,代码如下:
 
< form-beans >
     
    < form-bean  name ="EnglishForm"  type ="org.apache.struts.action.DynaActionForm" >             
       
< form-property  name ="language"  type ="java.lang.String"  initial ="en"   />
       
< form-property  name ="country"  type ="java.lang.String"  initial ="US"   />
   
</ form-bean >
   
< form-bean  name ="ChineseForm"  type ="org.apache.struts.action.DynaActionForm" >             
       
< form-property  name ="language"  type ="java.lang.String"  initial ="zh"   />
   
</ form-bean >
</ form-beans >
  
< action-mappings >
      
    < action  name  = "EnglishForm"  path ="/en"  type ="org.apache.struts.actions.LocaleAction" >
       
< forward  name ="success"  path ="/global.jsp"   />
   
</ action >  
   
< action  name ="ChineseForm"  path ="/zh"  type ="org.apache.struts.actions.LocaleAction" >
       
< forward  name ="success"  path ="/global.jsp"   />
   
</ action >  
</ action-mappings >            
 
在上面的例子中,使用了在 《Struts1.x系列教程(13):国际化》 一文中 建立的global.jsp 文件。在启动Tomcat 后,分别在IE 中输入如下的URL ,可以得到中文和英文的Web 页面。
中文页面:http://localhost:8080/samples/zh.do
英文页面: http://localhost:8080/samples/en.do

你可能感兴趣的:(国际化,Struts1.X,休闲,WEB程序,LocaleAction类)