隨筆-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 紫蝶∏飛揚↗ 閱讀(750) 評論(0)  編輯  收藏 所屬分類: JSF
          主站蜘蛛池模板: 大姚县| 襄城县| 望奎县| 元阳县| 潼南县| 海宁市| 若尔盖县| 林甸县| 肥城市| 宜川县| 宕昌县| 永宁县| 肇源县| 饶平县| 邓州市| 桂林市| 凭祥市| 长宁县| 奉化市| 明星| 麻阳| 丽江市| 东乡县| 清水县| 仪陇县| 阳原县| 乐平市| 和龙市| 任丘市| 东安县| 延吉市| 三亚市| 哈密市| 常州市| 广南县| 威信县| 弥勒县| 扶风县| 梁河县| 大荔县| 四川省|