2012-10-10 94 views
0

我正在使用struts,我有一個需要在兩種語言上運行的java web應用程序。我可以使用application.properties文件獲取一種語言,我在其中使用鍵和值組合並使用它。現在當用戶想要選擇選擇其他語言而不是如何切換到另一種語言how to change the properties file如何切換java web中的語言

我對不同的語言有不同的屬性文件我的問題是當用戶選擇不同的語言時如何設置/選擇特定的屬性文件?

回答

1

如果您正在使用Struts2的,那麼你可以創建自己的LocaleProvider類,類似:

public class ChangeLocale implements LocaleProvider { 

     private String lan; 

     public String getLan() { 
      return lan; 
     } 
     public void setLan(String lan) { 
      this.lan = lan; 
     } 
     public Locale getLocale() { 

      Locale locale=null; 
      // Switch language between Chinese and English 
      if("chinese".equals(lan)){ 
       locale=new Locale("zh", "cn"); 
      }else if("english".equals(lan)){ 
       locale=new Locale("en", "US"); 
      } 
      return locale; 
     } 
    } 

LocaleAction

public String execute(){ 

     ActionContext ac=ActionContext.getContext(); 
     ac.setLocale(getLocale()); 
     return "success"; 
    } 

在JSP:

<a href="<s:property value="chinese"/>"><s:text name="china"></s:text></a> 
<a href="<s:property value="english"/>"><s:text name="us"></s:text></a> 
+0

這是件好事自我解釋,但我有那些作爲文件,所以如何設置相應的用戶選擇該文件離子 –