我已經定義了一個f表示
<html xmlns="http://www.w3.org/1999/xhtml" (...)>
<f:metadata>
<f:viewParam name="cust-id" value="#{CustomerCEVController.customer}"
converter="#{customerConverter}" converterMessage="blah blah."
required="false"
/>
</f:metadata>
<ui:composition template="/templates/commonLayout.xhtml">
<ui:define name="title">
(...)
<ui:define name="body">
(...)
元數據我的XHTML頁面上部作爲與下文F所示..並宣佈爲卡斯特-ID參數CustomerConverter類。該屬性卡斯特-ID和支持bean 客戶領域的getter方法的轉換器類的getAsObject方法都堪稱處理驗證 JSF生命週期階段稱爲之前爲客戶的setter方法字段被稱爲在更新模型值生命週期的階段。結果,在調用吸氣劑的時候,轉換器沒有正確地初始化該區域。這樣的序列是這樣的(其中CustomerCEVController是支撐類):
[處理驗證階段START]
[CustomerConverter#的getAsObject稱爲]
[CustomerCEVController#GETCUSTOMER稱爲]
[處理驗證相END]
[更新模型值START]
[CustomerCEVController#setCustomer稱爲]
我要報告基於日誌輸出的interspersion,我已經註冊了一個生命週期監聽序列。 我是否錯過了一些東西,如果沒有,我怎樣才能確保客戶的字段在轉換前被轉換器正確設置?