怀疑论者的JSF - JSF转换与验证 - 编程入门网
mmediate 属性设置为 true
实际的例子 下面,我们将用一个示例应用程序展示所讨论的概念。本月的示例应用程序将展示 JSF 的转换和验证能力。记住,这个示例应用程序非常简单,没有追求一些不必要的面面俱到:无论如何,我们的目的不是构建一个在真实世界中使用的应用程序!这个示例应用程序将展示以下几点: 使用标准 JSF 转换器转换表单字段数据。 使用标准 JSF 验证组件验证表单字段数据。 如何编写自定义转换器和验证器。 如何在 faces-config.xml 文件中注册自定义转换器和验证器。 如何定制默认错误消息。 这个示例应用程序是一个简单的用户注册表单。我们的目标是收集用户数据,比如姓名、年龄、电子邮箱地址和电话号码。然后,我们将展示如何利用 JSF 转换和验证确保收集的数据对于模型是适合的。 这个应用程序使用了三个 JSP 页: index.jsp 将用户定向到 UserRegistration.jsp。 UserRegistration.jsp 包含应用程序的表单字段。 results.jsp 通知应用程序用户已经注册。 我们将首先分析编写 JSF 转换过程的选择。 JSF 转换 如前所述,转换是确保数据对象或者类型正确的一个过程,因此,我们将字符串值转换为其他类型,比如 Date 对象、基本浮点型或者 Float 对象。可以使用自带的转换器,也可以编写自定义的转换器。 JSF 提供了许多标准数据转换器。也可以通过实现 Converter 接口插入自定义转换器,但是这些将在后面进行介绍。下表显示了 JSF 进行简单数据转换所使用的转换器 id 及其对应的实现类。大多数数据转换是自动发生的。
图 4 展示了用户年龄的默认转换。JSF 标签配置如下:
图 4. 用户注册:年龄的默认转换 怀疑论者的JSF - JSF转换与验证(3)时间:2011-03-13 IBM Rick Hightower各种情况的转换器 UserRegistration.user.age 表示一个值绑定属性,它的类型为 int。对于基本型或者 BigInteger/ BigDecimal 的绑定,JSF 选择了标准转换器。不过,还可以通过 <f:converter/> 标签,利用一个特定的转换器来增加粒度,如下所示。
在图 5 中,可以看到 JSF 使用标准转换器的场景。在这种情况下,虽然年龄实际上是一个有效的整数,但转换仍然会失败,因为该值不是短整型的。 图 5. 使用 f:converter 标签 选择日期格式样式 尽管在默认情况下,JSF 可以很 |
||||||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |