Richfaces按鈕事件執(zhí)行的順序,如下這段標(biāo)簽代碼:
Java代碼
- <a4j:commandButton
- action="#{XXX.action4}"
- actionListener="#{XXX.action1}"
- oncomplete=""
- reRender="" >
- <f:actionListener binding="#{XXX.action2}" />
- <f:actionListener binding="#{XXX.action3}" />
- </a4j:commandButton>
這個(gè)button是比較常見(jiàn)的,里面有action,actionListener,oncomplete,reRender一些事件,我們了解這些事件的執(zhí)行順序和機(jī)制有助于我們進(jìn)一步的清楚用法,我簡(jiǎn)單的說(shuō)下了:
button上的actionListener事件先執(zhí)行,但這里注入了f:actionListener ,先執(zhí)行button自帶的actionListener,然后按順序執(zhí)行注入f:actionListener
actionListener執(zhí)行完后,接下來(lái)執(zhí)行action
action執(zhí)行完后,然后執(zhí)行reRender事件(用來(lái)重渲染一些標(biāo)簽)
reRender執(zhí)行完后,最后執(zhí)行oncomplete事件(JS事件)
綜上所述,我們執(zhí)行的順序是:action1,action2,action3,action4,reRender,oncomplete
摘自http://xiaojianbo.iteye.com/blog/1527258