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

Reply via email to