使用 IBM Rational Application Developer 轻松实现 JavaServer Faces Web 程序的全球化
2009-10-08 00:00:00 来源:WEB开发网从版本 7 开始,IBM®Rational®Application Developer 包含了 JavaServer Faces Widget Library(JWL),它是一个 Java™Server Faces (JSF)- 以及用于快速开发网络程序的基于 JavaScript 的库。
JWL,hxclient 的 JavaScript 库,实施了对 JWL 构件的客户端支持。它还包含了一系列所谓的“JSF 转化器”,可以帮助开发员分析和格式化日期,时间以及特定位置模式的来回号码,更特别的是,这些工具就是 JavaSimpleDateFormat 和 DecimalFormat 的 JavaScript 实施。这些工具对于设计成支持多种语言的程序来说十分有用,因为它们帮助您处理来自客户端位置敏感数据输入和输出的挑战。
本篇文章还解释了与 JavaServer Faces 程序中多线程相关的全球化挑战问题,并提供了一个解决方案。本文作者假设您有关于 JSF 和 JWL 的基础知识。
全球化基础知识
在网络程序中,输出语言是由 HTTP 请求报头的 Accept-Language 区域所决定。用户可以指定喜好的语言和带有浏览器设置的场所。
JSF 框架分析 HTTP 请求报头。您可以通过使用如列表 1 所示的报头来获取该值。
列表 1. 获取关于语言和场所的请求
Locale locale = FacesContext.getCurrentInstance().getExternalContext().getRequestLocale();
场所值用于决定用于显示的预言。
使用 JWL 来处理场所敏感输出与输入
在快速引入全球化之后,现在我们已经做好准备,讨论全球化 JSF 网络程序中面临的两个挑战:
使用本地格式显示客户日期和时间
显示和结束本地数字格式
hxclient 在页面中是怎样初始化的
只要您在使用页面中的 JWL 标签,您就必须确保页面中安装有库,并得到了合适的初始化。如果您设置了浏览器场所请求为“ja”(日语),并查看使用 JWL 调用的 HTML 页面的源代码,您将会发现如列表 2 所示的代码。
赞助商链接