注:一般的<h: >标签有两种表示方法:1.<h:xxxxxxxxxxxx />
2.<h:xxxxxxxx> ........ </h:xxxxxx>
转换和验证
(1)概述
图 1 描绘了一个典型的处理所提交表单值的请求-响应(request-and-response)场景。
图 1. 基本 JSF 生命周期
我们只需要注意转换和验证过程发生在应用请求值(仅当 immediate=true 验证阶段不在进行处理)、处理验证 和呈现响应 阶段即可。
下面是两个典型的转换:
- 字符串值可以转换为
java.util.Date
。
- 字符串值可以转换为 Float。
下面是两个典型的验证:
- java.util.Date 的格式为 MM/yyyy。
- Float 在 1.0 和 100.0 之间。
**********************(2)关注生命周期阶段**********************
转换和验证的主要目的, 是确保在更新模型数据之前已经经过了正确的无害处理。之后,当需要调用应用程序方法用这些数据实际做一些事情 时,就可以有把握地假定模型的某些状态。
如图 1 所示(应用请求值阶段有误,其不进行转换),转换和验证发生在处理验证阶段。图 2 突出显示了这些阶段。
图 2. 要关注的转换和验证阶段
**********************(3)关于 immediate 属性**********************
其实, immediate =false 时,转换和验证运行在验证处理阶段.
immediate =true 时,转换和验证运行在应用请求值阶段, 验证处理阶段不运行.
图 2 中描绘的转换和验证过程, 表示了将 UIInput
组件的 immediate
属性设置为 false
时的应用程序流程。
图 3 展示了当 immediate
属性设置为 true
时,在 JSF 应用程序生命周期中的哪些地方进行转换和验证。
图 3. 将 immediate 属性设置为 true
posted on 2007-10-23 16:21
紫蝶∏飛揚↗ 阅读(737)
评论(0) 编辑 收藏 所属分类:
JSF