posts - 262,  comments - 221,  trackbacks - 0
          一、<f:view>、<f:loadbundle>和<html>標記的位置

          使用JSF國際化時,如果HTML頁面的<title></title>部分需要用到綁定資源文件的信息,則<f:view>和<f:loadbundule>標簽必須放在<html>標簽之外,諸如以下所示:

          沒有使用資源綁定之前,頁面代碼如下:
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>第一個JSF程序</title>
          </head>
          <body>
            
          <f:view>
              
          <h:form>
                
          <h3>請輸入你的名稱</h3>
                
          <h:outputText value="#{user.errMessage}" /><p>
                 名稱:
          <h:inputText value="#{user.name}" /><p>
                 密碼:
          <h:inputSecret value="#{user.password}" /><p>
                
          <h:commandButton value="送出" action="#{user.verify}" />
              
          </h:form>
            
          </f:view>  
          </body>
          </html>

          使用了資源文件之后,代碼的<f:view>,<f:loadbundle>標簽提前到<html>標簽前面:

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

          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title><h:outputText value="#{msgs.titleText}"/></title>
          </head>
          <body>  
              
          <h:form>
                
          <h3><h:outputText value="#{msgs.hintText}"/></h3>
                
          <h:outputText value="#{user.errMessage}" /><p>      
                
          <h:outputText value="#{msgs.nameText}" />
                
          <h:inputText value="#{user.name}" /><p>      
                
          <h:outputText value="#{msgs.passText}" />
                
          <h:inputSecret value="#{user.password}" /><p>      
                
          <h:commandButton value="#{msgs.commandText}" action="#{user.verify}" />
              
          </h:form>  
          </body>
          </html>

          </f:view>

          否則頁面在運行時會提示找不到標簽,原因就是因為在加載資源文件之前<title></title>就已經使用了綁定,自然無法找到綁定的內容。

          二、<f:view>的locale屬性和faces-config.xml中<locale-config>配置的優先級別:

          1.<f:view>沒有設置locale,faces-config.xml沒有設置<local-config>時采用瀏覽器的默認配置

          2.<f:view>沒有設置locale,但faces-config.xml中設置了<local-config>時,如果支持本地語言則采用<local-config>的<supported-locale>配置,否則采用<default-locale>

          3.<f:view>設置了locale時,faces-config.xml沒有設置<local-config>時采用<f:view>的配置

          4.<f:view>設置了locale時,且faces-config.xml中設置了<local-config>時,采用<f:view>



          -------------------------------------------------------------
          生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
          posted on 2008-03-04 22:32 Paul Lin 閱讀(1344) 評論(0)  編輯  收藏 所屬分類: J2EE 框架
          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          留言簿(21)

          隨筆分類

          隨筆檔案

          BlogJava熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 绥棱县| 张北县| 安义县| 屏山县| 定州市| 隆昌县| 大余县| 陆丰市| 洞头县| 宜川县| 石柱| 西城区| 富锦市| 镇江市| 本溪市| 阿巴嘎旗| 嘉荫县| 通辽市| 巍山| 旬阳县| 长葛市| 顺昌县| 岫岩| 忻城县| 新乡县| 香港| 唐山市| 恭城| 清丰县| 和硕县| 嘉祥县| 丰镇市| 红安县| 定结县| 锡林浩特市| 滨海县| 龙海市| 临江市| 邹平县| 华坪县| 墨脱县|