This seems to be happening in AbstractPhaseListener and looks like a bug. The
code in question is
| public boolean callPageActions(PhaseEvent event)
| {
| Lifecycle.setPhaseId( PhaseId.INVOKE_APPLICATION );
| boolean actionsWereCalled = false;
| try
| {
| actionsWereCalled = Pages.callAction( event.getFacesContext() ) ||
actionsWereCalled;
| actionsWereCalled = Pages.instance().callAction() ||
actionsWereCalled;
| return actionsWereCalled;
|
The first "Pages.callAction(event.getFacesContext()) || actionsWereCalled "
runs the intended action i.e. the action in the second page. Note that at this
point, the view-id is still the first page as the lifecycle has not come into
the "render" phase -- still in the "Execute" phase. Now that the method
returned true, we are again invoking the Pages.instance().callAction() which
calls the first view since the view-id is the first page. Thats the reason for
the out of order of messages.
If the code were
| actionsWereCalled = Pages.callAction( event.getFacesContext() ) ||
actionsWereCalled;
| actionsWereCalled = actionsWereCalled ||
Pages.instance().callAction();
| return actionsWereCalled;
|
that should fix this.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3969794#3969794
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3969794
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user