事件 | 校驗 | 參數 | 事件產生 | 頁面跳轉
action | ok | 無參數,不傳入當前控件,有返回值 |當銨鈕被單擊時產生事件.提交表單 |返回頁面---根據配置文件跳轉
actionListener | ok | 傳入當前控件,無返回值 |當銨鈕被單擊時產生事件.提交表單 | 返回本頁面
ValueChangeListener | ok | 傳入當前控件,無返回值 |不提交表單(需指定其onchange/onclick="submit"才自動提交表單 |返回本頁面
action()處理的是業務邏輯.實際上JSF會自動產生一個"預設的ActionListener"來處理事件,并根據其返回值決定頁面跳轉.第五階段:調用應用執行
會影響到頁面間的導航(navigation)。主要處理一些業務邏輯并返回幾個業務邏輯結果(String類型),JSF的導航系統將會根據這個來選擇恰當的下一個頁面. 會提交表單.
actionListener(ActionEvent e)處理頁面上組件的"監聽事件".第五階段:調用應用執行
不會影響到導航.主要操作當前頁面內的組件,或者是進行一些業務模型上的改變,或者是修改backing bean(托管Bean)的屬性等,并不會出現在頁面間的跳轉。會提交表單.
valueChangeListener(ValueChangeEvent event)處理頁面上組件值變化的"監聽事件","第三階段:驗證請求值"執行
ActionListener (事件監聽器)是用于解決只影響用戶界面的事件
特別地,在beans的form數據被加載和觸發驗證前被調用
用immediate=“true”指明這個行為不觸發驗證
在監聽器調用后,會重新顯示表單
不應用導航規則,不重定向頁面
Action
隸屬于按鈕、超鏈接和圖形映射控件
自動提交對應表單
ValueChangeListener
隸屬于單選框、組合框、列表框、復選框、文本框等控件
需要用onclick=“submit()”或onchange=“submit()”的方式提交表單