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

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

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

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

          語(yǔ)言首選項(xiàng)

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

          <%@ 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():中國(guó)
          locale.getDisplayName():中文 (中國(guó))
          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頁(yè)面里按照瀏覽器語(yǔ)言設(shè)置來(lái)進(jìn)行頁(yè)面跳轉(zhuǎn)應(yīng)該有辦法了

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

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

          主站蜘蛛池模板: 桦甸市| 行唐县| 永年县| 洞口县| 扎鲁特旗| 凭祥市| 肇庆市| 万荣县| 阆中市| 峨眉山市| 科技| 黔西县| 称多县| 肇源县| 确山县| 宁夏| 柳江县| 库伦旗| 阿城市| 泸溪县| 昌都县| 田林县| 上犹县| 江陵县| 汉川市| 卢湾区| 阿尔山市| 灵石县| 荥阳市| 曲沃县| 连州市| 井冈山市| 五家渠市| 孟州市| 吴忠市| 祁东县| 蓝田县| 广西| 方山县| 辽阳市| 明溪县|