快速业务通道

在Visual Web JSF应用程序中转换和验证数据 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-16
ng 值和 java.math.util.Calendar 数据类型之间转换。例如在您将 JSF 组件绑定到具有 dateTime 类型字段的 Web 服务时,该转换器将起作用。

在前面的步骤中,您设置了一个验证器来核实输入的摄氏温度落在绝对零度和 1000° 之间。在随后的步骤中,您将使用一个双精度转换器来将用户输入转换为双精度型,这样您就能用该双精度型来计算摄氏输入的华氏值。

展开“组件面板”的“转换器”类别。从“组件面板”拖一个“双精度转换器”到“文本字段”组件上。

该转换器指定文本字段组件返回 Double 对象而不是 String。缺省值“doubleConverter1”出现在“属性”窗口和“导航”窗口中。

双击文本字段组件以在 Java 编辑器中打开它的源代码。

添加下面的代码(以粗体显示)到 textField1_processValueChange 动作方法中。

代码示例 1:值更改事件处理程序方法

public void textField1_processValueChange(ValueChangeEvent event) {   double celsiusTemp = ((Double) textField1.getText()).doubleValue();   double fahrenheitTemp = 9.0 * celsiusTemp / 5.0 + 32.0;   staticText1.setText(new Double(fahrenheitTemp)); }

这段代码设了两个变量:输入 textField1 的值 celsiusTemp,以及通过对 celsiusTemp 应用指定的计算转换出来的值 fahrenheitTemp。最后一行在静态文本字段中设置了新值 fahrenheitTemp。

在Visual Web JSF应用程序中转换和验证数据(4)

时间:2011-07-06 netbeans2.org

测试应用程序

在本节中,您将用各种输入来运行应用程序,演示可能的验证和转换错误。

选择“运行”>“运行主项目”来生成和运行应用程序。

从文本字段删除 0.0,不输入值按下 Enter。请核实对文本字段显示了一个错误,如下图所示。

在Visual Web JSF应用程序中转换和验证数据 - 编程入门网

图 4:必需输入时的验证错误

错误实际上是因为我们将文本字段的“required”属性设为“true”而发生的。当页面访客提交页面时,Web 应用程序按下列顺序进行输入核实:

转换

必需输入

验证

注意:值更改事件只在值实际上更改且所有的核实成功时发生。

输入不同的数值来测试应用程序。下图显示了当您输入 100 时的结果。

在Visual Web JSF应用程序中转换和验证数据 - 编程入门网

图 5::成功验证

在Visual Web JSF应用程序中转换和验证数据(5)

时间:2011-07-06 netbeans2.org

请核实在您输入超出范围的值时显示的验证错误,以及在您输入非数值字符串值时显示的转换错误。

下图显示当您输入 -1000 时的结果。注意当验证或转换错误发生时,值更改侦听器方法没有被调用,静态文本组件中的值没有更改。

在Visual Web JSF应用程序中转换和验证数据 - 编程入门网

图 6:值超出范围时的验证错误

输入字母数字式的字符串,例如 20x。因为应用程序被配置为只转换数值类型,它将返回转换错误,如下图所示。

在Visual Web JSF应用程序中转换和验证数据 - 编程入门网

图 7:输入值的格式不正确时的转换错误

做更多:使用数值和日期时间转换器

两个标准转换器——数值转换器和日期时间转换器——有它们自己的属性,使您能够指定数据的格式和类型。这个小教程演示如何使用这两个转换器。

下图显示了您将在本节中创建的页面:

在Visual Web JSF应用程序中转换和验证数据 - 编程入门网

图 8:货币转换器应用程序

在Visual Web JSF应用程序中转换和验证数据(6)

时间:2011-07-06 netbeans2.org

在“项目”窗口中,右键单击“ValidatorConverter”>“Web 页”,选择“新建”>“Visual Web JSF”页。将该页命名为“Currency”,单击完成。

右键单击“ValidatorConverter”>“Web 页”>“Currency.jsp”,选择“设置为起始页”。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号