随笔-9  评论-168  文章-266  trackbacks-0
   注:一般的<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
将 immediate 属性设置为 true 时的 JSF 生命周期图 

 

posted on 2007-10-23 16:21 紫蝶∏飛揚↗ 阅读(727) 评论(0)  编辑  收藏 所属分类: JSF

只有注册用户登录后才能发表评论。


网站导航: