我正在使用帶有richfaces的JSF。我正在使用core的convertDateTime將inputText轉換爲Date。JSF中convertDateTime的奇怪行爲
<h:inputText styleClass="datepicker" value="#{searchBean.creationDate}" id="inputfield">
<f:convertDateTime pattern="yyyy-MM-dd" />
</h:inputText>
凡creationDate在SearchBean是類型的Java util的日期,我使用一個jQuery datpicker來填充輸入字段。
問題是它不能正常工作。當我沒有輸入任何日期(空輸入字段)提交表單時,一切正常。但是,當我選擇日期時,調用不會到達bean(在調試模式下進行測試)。該頁面只是刷新自己,沒有任何異常/在服務器端登錄。
我實現了一個快速LifeCycleListener這表明以下的輸出:
隨着充滿日期輸入字段:
START PHASE RESTORE_VIEW(1)
END PHASE RESTORE_VIEW(1)
START PHASE APPLY_REQUEST_VALUES(2)
END PHASE APPLY_REQUEST_VALUES(2)
START PHASE PROCESS_VALIDATIONS(3)
END PHASE PROCESS_VALIDATIONS(3)
START PHASE UPDATE_MODEL_VALUES(4)
END PHASE UPDATE_MODEL_VALUES(4)
START PHASE INVOKE_APPLICATION(5)
END PHASE INVOKE_APPLICATION(5)
START PHASE RENDER_RESPONSE(6)
END PHASE RENDER_RESPONSE(6)
空日期:
START PHASE RESTORE_VIEW(1)
END PHASE RESTORE_VIEW(1)
START PHASE APPLY_REQUEST_VALUES(2)
END PHASE APPLY_REQUEST_VALUES(2)
START PHASE PROCESS_VALIDATIONS(3)
END PHASE PROCESS_VALIDATIONS(3)
START PHASE RENDER_RESPONSE(6)
END PHASE RENDER_RESPONSE(6)
這是明確在第二種情況下缺少兩個步驟。我對JSF非常陌生,對它的內部工作沒有多少了解。此外,沒有驗證/轉換例外。我被困在這裏,我不知道在哪裏尋找解決方案。任何幫助表示讚賞。
什麼樣的驗證。在這種情況下,是不是應該拋出一個可見的異常? –
@UmerHayat更新了我的文章 – mprabhat
@UmerHayat您還需要在頁面中指定消息顯示。在頁面中使用''或者使用'「/>',那麼只有它會顯示在頁面 –