JSF中f:loadBundle标签的使用方法

开发 后端
本文向您介绍JSF中支持JSP本地化的操作标签,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为资源文件所在的位置(com\test\resource)与名称(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加上类似以下配置:

  1. <faces-config>   
  2. <application> 
  3.   <locale-config> 
  4.    <default-locale>en</default-locale> 
  5.    <supported-locale>zh</supported-locale> 
  6.    <supported-locale>ja</supported-locale> 
  7.   </locale-config> 
  8. </application> 
  9. </faces-config> 

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

 

【编辑推荐】

  1. 学习JSF的生命周期
  2. 选择JSF的理由:从UI组件开始
  3. JSF的缺陷:IDE方面支持不足
  4. JSF2.0通过最终投票 JSF已经实现所有特性
  5. JSF进行Web开发的三大优势
责任编辑:佚名 来源: JavaEye
相关推荐

2009-06-23 13:55:17

JSF标签

2010-10-09 10:30:03

JS event

2010-10-08 14:27:25

JavascriptSplit

2011-06-14 10:18:58

QThread Qt 线程

2017-06-07 10:00:56

PythonBeautifulSo解析器

2010-07-05 09:38:47

LinuxNFS

2011-08-03 17:27:40

iPhone UIScrollVi

2024-07-11 14:05:28

JavaScript函数

2010-03-10 11:11:16

Python编程

2011-02-14 10:21:04

Windows PowWMI

2024-09-03 13:32:11

JavaScriptEval函数

2021-05-08 06:14:28

Vue.js片段开发

2018-06-20 10:34:56

堆栈iOSswift

2013-06-08 17:09:35

Android开发移动开发XML解析

2009-09-23 13:23:12

Hibernate M

2021-07-16 07:57:35

JavaScriptEval函数

2012-01-13 09:55:54

jQuery

2011-02-24 13:09:10

FireFTP

2011-07-21 15:05:14

iPhone 数据库

2024-11-12 07:28:39

点赞
收藏

51CTO技术栈公众号