爪哇一角

          共同探討STRUTS#HIBERNATE#SPRING#EJB等技術(shù)
          posts - 3, comments - 6, trackbacks - 0, articles - 99
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          三 JSF國際編碼支持

          Posted on 2009-01-20 14:47 非洲小白臉 閱讀(175) 評論(0)  編輯  收藏 所屬分類: JSF

          JSF國際化(Internnationalization)訊息處理是基于Java對國際化的支援,您可以在一個(gè)訊息資源檔中統(tǒng)一管理訊息資源,messages_en.properties

          例如:

          nameText=name
          passText=password

           

          同時(shí),你也可以定義對應(yīng)于中文的統(tǒng)一管理訊息資源,messages_zh_TW.properties

          例如:

          nameText=\u540d\u7a31

          passText=\u5bc6\u78bc

          資源中的文字需要進(jìn)行Unicode重新編碼,可以用jdk自帶的native2ascii工具實(shí)現(xiàn)。

          JsfInternMessage.jsp

          <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>

          <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>

          <%@page contentType="text/html;charset=utf-8"%>

           

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

                 <f:loadBundle basename="messages" var="msgs" />

                 <html>

                 <head>

                 <title><h:outputText value="#{msgs.titleText}" /></title>

                 </head>

                 <body>

                 <h:form>

                        <!—請輸入你的姓名 -->

                        <h3><h:outputText value="#{msgs.hintText}" /></h3>

                        <!-- 姓名 -->

                        <h:outputText value="#{msgs.nameText}" />:

          <h:inputText value="#{user.name}" />

                        <p><!-- 送出 --><h:commandButton id="button1"

                               value="#{msgs.commandText}" action="success" /> <!-- 調(diào)用不同的資源文件,改變頁面的表示語言 -->

                        <h:commandButton value="#{msgs.Text}"

                               actionListener="#{user.changeLocale}" />

          觸發(fā)user里的方法,返回不同的值,從而達(dá)到調(diào)用不同資源文件的目的。

           

           
                 </h:form>

                 </body>

                 </html>

          </f:view>

           

          UserBean.java

          public void changeLocale(ActionEvent e) {

                  if(locale.equals("en"))

                  locale = "zh_TW";

                  else

                  locale = "en";

              }

          具體代碼參看示例程序.(JsfInternMessage.jsp,UserBean.java,messages_en.properties,messages_zh_TW.properties)

           

          注意:JSP頁面頭部要用下面的標(biāo)簽包住。

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

          <f:loadBundle basename="messages" var="msgs"/>

          上面標(biāo)簽的意思是,本JSP調(diào)用messages_"#{user.locale}".properties資源文件,如果user.locale=en,則調(diào)用messages_en.properties文件。

          http://localhost:8080/jsfTest/pages/jsfInternMessage.faces 就可以正常執(zhí)行了。

           

          主站蜘蛛池模板: 右玉县| 东平县| 陈巴尔虎旗| 修文县| 河池市| 泌阳县| 白沙| 瑞金市| 新源县| 满城县| 东乌珠穆沁旗| 临潭县| 乌拉特中旗| 滨州市| 从化市| 双牌县| 济南市| 响水县| 迁西县| 溧阳市| 临漳县| 合水县| 文昌市| 永德县| 曲水县| 林甸县| 舟山市| 三穗县| 兰西县| 黄陵县| 建瓯市| 托克托县| 长顺县| 阜新市| 江永县| 礼泉县| 西宁市| 阿坝| 和平区| 庆安县| 锡林浩特市|