posts - 2, comments - 27, trackbacks - 0, articles - 60
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          從瀏覽器里提取語言設(shè)置信息

          Posted on 2008-09-09 11:06 ZhouFeng 閱讀(1060) 評(píng)論(0)  編輯  收藏 所屬分類: Web開發(fā)

          這兩天在想一個(gè)東東,就是在I18N,在考慮如何獲取客戶端的語言設(shè)置,后來在JSTL的example里找到一點(diǎn)信息,我們可以通過ServletRequest.getLocales()方法獲得一個(gè)Local對(duì)象,再從Local對(duì)象里提取信息,為了做這個(gè)測(cè)試,我還在我的瀏覽器設(shè)置里多加了幾個(gè)語言,如下圖所示

          語言首選項(xiàng)

          然后寫了一個(gè)測(cè)試的JSP頁面

          <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
          <html>
            
          <head>
              
          <title>Local Test</title>
            
          </head>
            
            
          <body>
              
          <% 
                Enumeration enum_ 
          = request.getLocales();
                
          while (enum_.hasMoreElements()) {
                  Locale locale 
          = (Locale)enum_.nextElement();
                  out.println(
          "locale.getDisplayCountry():"+locale.getDisplayCountry()+"<br>");
                  out.println(
          "locale.getDisplayName():"+locale.getDisplayName()+"<br>");
                  out.println(
          "locale.getCountry():"+locale.getCountry()+"<br>");
                  out.println(
          "locale.toString():"+locale.toString()+"<br>");
                  out.println(
          "<hr>");
                }
              
          %>

            
          </body>
          </html>

          Local對(duì)象還有很多方法可以調(diào)用,在此我只試了幾個(gè),運(yùn)行后在瀏覽器里得到的結(jié)果如下

          locale.getDisplayCountry():中國
          locale.getDisplayName():中文 (中國)
          locale.getCountry():CN
          locale.toString():zh_CN

          --------------------------------------------------------------------------------
          locale.getDisplayCountry():
          locale.getDisplayName():英文
          locale.getCountry():
          locale.toString():en

          --------------------------------------------------------------------------------
          locale.getDisplayCountry():香港
          locale.getDisplayName():中文 (香港)
          locale.getCountry():HK
          locale.toString():zh_HK

          獲取了這樣的信息后,在JSP頁面里按照瀏覽器語言設(shè)置來進(jìn)行頁面跳轉(zhuǎn)應(yīng)該有辦法了

          在看JSTL的example時(shí),里面也有對(duì)i18N的支持,不過還沒有來得及學(xué)習(xí),也許還有更好的處理辦法,就像STRUTS里的i18N處理

          今天也總算搞了點(diǎn)東西出來,又學(xué)到一點(diǎn)點(diǎn),Good Good Study, Day Day Up

          主站蜘蛛池模板: 岢岚县| 常宁市| 永城市| 清苑县| 天气| 永德县| 枣阳市| 梅河口市| 永兴县| 定边县| 兰西县| 临邑县| 锡林郭勒盟| 陆丰市| 西畴县| 新晃| 昌邑市| 年辖:市辖区| 商水县| 玉山县| 长武县| 额尔古纳市| 福建省| 南漳县| 威海市| 萝北县| 青田县| 沈阳市| 赞皇县| 红河县| 获嘉县| 陆丰市| 长治县| 米易县| 涟水县| 蒲江县| 子长县| 宜兴市| 蓬溪县| 涞水县| 渑池县|