2010-11-10 43 views
0

我問時間前在this question,我用這個方法解決我的問題:問題更改語言應用

  1. loging.xhtm,例如:

    <f:view locale="#{languageDetails.locale}" > 
    <head> 
    ..... 
    <f:loadBundle basename="messages.Messages" var="msg1"/> 
    ..... 
    

    </h:form> 
    

    </body> 
    </f:view> 
    

2.In Java源代碼,我也做了一些改變:

public class LanguageDetails { 

    private static String locale = Locale.getDefault().getDisplayLanguage(); 

     public void setLocale(String locale1) { 
     this.locale = locale1; 
     } 

     public synchronized String getLocale() { 
     return locale; 
     } 

     public synchronized String changeLanguage() { 
     return "changed"; 
     } 
} 

但現在我想有相同的選項,不僅在登錄頁面,而且在其他頁面年齡。
在其他頁面添加相同的代碼不起作用,因爲不調用功能setLocale。任何幫助?
在此先感謝

回答

0

我意識到,它把真正重要

<f:view locale="#{languageDetails.locale}" > 
.... 
</f:view> 

或者在每一個文件,或者只是在頂部文件。稍後,在必要的地方放上<h:selectOneMenu>,但始終牢記,你不可能擁有全部<h:form><a4j:form> ...等等,這會讓事情變得更加複雜。我把這個表單標籤僅僅放在頂層文件上,現在一切正常。
希望這可以幫助別人。