使用 IBM Rational Application Developer 轻松实现 JavaServer Faces Web 程序的全球化
2009-10-08 00:00:00 来源:WEB开发网现在已经完成了。通过调用 JavaScriptgetLocalizedCurrentTime 方法,您可以得到客户端的日期和时间文本(例如,图 1 显示是英语,图 2 显示的是日语)。
图 1. 显示 en-us 的日期和时间
图 2. 显示 ja-jp 的日期和时间
显示和接受本地 JWL 的数字格式
显示带有本地格式的数字,与显示日期/时间相类似。像 1000.1 这样的十进制数字在美国应该显示成 1,000.1,而在德国会显示成 1.000,1。
不像日期和时间,这些数字应该从服务器端获得,在这里 ICUDecimalFormat 可以完成这一点。但是有些情况下,您可能想要格式化客户端的数字(例如,接受用户输入并显示值)。在 JWLhxclient 库中, NumberConverter 实施了客户端上 DecimalFormat 的逻辑。
同样,让我们首先直接跳到完整的客户代码:
列表 6. 格式数字的 JavaScript
<script>
var decimalFormatPattern = "<%= FormatterUtils.getDecimalFormatPattern() %>";
var decimalFormatSymbols = "<%= FormatterUtils.getDecimalFormatSymbols() %>";
function formatDecimal(value)
{
var converter = hX.getConverterById("number_converter");
if(null == converter)
{
hX.addConverter("number_converter",
new hX.NumberConverter("pattern:" + decimalFormatPattern,
"locale:" + decimalFormatSymbols, "ICU4J:true"));
}
converter = hX.getConverterById("number_converter");
var output = cvt.valueToString(value);
return output;
}
</script>
更多精彩
赞助商链接