2011-06-17 61 views
1

我在框架Spring和Liferay中使用Java。 使用liferay我知道如何獲得一個語言環境(有一些信息的對象:語言,國家......),但現在我在一個沒有與liferay連接的java類,我不知道如何獲得一個語言環境對象得到語言。如何在java中獲取語言環境對象?

例如,我有一個測試類我的網頁的下一個方法:

private void checkEnglishText(String contentXml) { 
    CarContentGenerator esCarGeneratorObject = new  CarContentGenerator(); 
    HashMap<String, CarContentVo> hm = esCarGeneratorObject.getCar(contentXml); 
    CarContentVo ccvo = hm.get("EPPA0418"); 
    Assert.assertEquals(ccvo.getCarCodes(), "empress"); 
} 

這裏我打電話給CarContentGenerator構造,這種構造是:

public CarContentGenerator() { 
    link = new LinkVo(); 
    links = new ArrayList<LinkVo>(); 
    itinerary = new ArrayList<LinkVo>(); 
    lpackageId = new ArrayList<String>(); 
    contentVo = new ContentVo(); 
    mapCar = new HashMap<String, CarContentVo>(); 
    this.locale = "en_US"; 
} 

你可以看到,我將值「en_US」賦予變量區域設置。 「EN_US」意味着我的頁面

將用英語顯示,如果我寫的「es_ES」將在西班牙進行顯示,這樣..我的dought

是..難道有人知道如何找出語言(在我的情況下「en_US」或「es_EN」)其中是我的

網頁? (從請求或東西得到它)

回答

4

一個Java類java.lang.Locale,您可以通過代碼獲得的實例如下所示:

final Locale american = new Locale("en", "US"); 
final Locale spanish = new Locale("es", "ES"); 

所以,你應該能夠以此爲當您沒有Liferay連接時,您的語言環境對象。可以將這些區域設置傳遞到支持區域敏感操作的各種JDK類(例如NumberFormatCurrency),並且可以直接查詢基本信息。

至於你的最後一個問題 - 我認爲這太寬泛了,目前沒有任何信息回答。目前,這個問題僅僅是「如何在'我的網頁'和'我的代碼'之間傳遞幾個字節的靜態信息?」實際上有數百種可能的方式來做到這一點,最好的/最簡單的方法取決於很多無聊的細節,比如你的啓動腳本,哪些技術在不同的地方使用等等。如果你需要更多的幫助,那麼我相信你已經必須發佈填補所有這些差距的非常具體的問題。

相關問題