JSF f:loadBundle标签

JSF f:loadBundle标签是JSF提供的一个支持JSP本地化(多语言支持)操作的标签。

  JSF提供了一套本地化支持的机制,包括消息,页面显示等。 JSF f:loadBundle标签是提供的页面显示方面的支持JSP本地化(多语言支持)操作的标签。

  使用f:loadBundle标签,可以为不同的来访用户呈现不同语言界面的页面从而简单地让你的JSF WEB应用实现国际化支持。

  JSF f:loadBundle用法:

  JSF f:loadBundle的使用非常简单

  1,首先,为不同的语言分别准备一个.properties文件。比如,若要支持英文,中文,日文,则英文可以为Messages.properties,中文为Messages_zh.properties,日文为Messages_ja.properties等。

  文件内容的形式为:

  message-key=message-value

  userName=用户名:

  .properties文件打包之前必须转换成ascii码形式,可以以目录阶层形式加以组织,并置于WEB-INF目录下。比如资源文件的目录阶层可以为:

 
 WEB-INF/com/test/resource/Messages.properties

  WEB-INF/com/test/resource/Messages_zh.properties

  WEB-INF/com/test/resource/Messages_ja.properties


  2,然后在JSP里通过f:loadBundle标签加载该.properties文件,比如加载具有上面阶层的资源文件:

 
 <f:loadBundle basename="com.test.resource.Messages" var="msg" />


  其中basename为资源文件所在的位置(comtestresource)与名称(Messages)。var为加载后的变量名。JSF可以根据用户浏览器的配置自动装载匹配的资源文件。

  然后使用h:outputText输出页面内容
  <h:outputText value="#{msg['message-key']}"></h:outputText>


  或者
  <h:outputText value="#{msg.message-key}"></h:outputText>


  就可以了。

  另外,需要JSF支持所规定的语言,需要在faces-config.xml加上类似以下配置:

<faces-config>   
<application> 
  <locale-config> 
   <default-locale>en</default-locale> 
   <supported-locale>zh</supported-locale> 
   <supported-locale>ja</supported-locale> 
  </locale-config> 
</application> 
</faces-config> 


  该配置告诉JSF框架,默认的语言配置以及需要支持哪些语言配置。

转自:http://tech.ddvip.com/2009-06/1244865470123573.html

你可能感兴趣的:(Web,jsp,xml,JSF,F#)