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熱點博客

          好友博客

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 景东| 叶城县| 南通市| 怀宁县| 建平县| 临高县| 靖州| 富蕴县| 菏泽市| 申扎县| 沁水县| 嘉定区| 铜陵市| 漳浦县| 鄂托克前旗| 贵阳市| 郴州市| 绥德县| 永兴县| 郓城县| 武川县| 太保市| 龙门县| 吉林省| 阿拉尔市| 韶山市| 石狮市| 喀什市| 洛扎县| 文成县| 永胜县| 桦甸市| 鄄城县| 庆城县| 交城县| 安远县| 玉山县| 沅江市| 黄冈市| 安宁市| 威远县|