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