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