注:一般的<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
紫蝶∏飛揚↗ 閱讀(744)
評論(0) 編輯 收藏 所屬分類:
JSF