Using FacesMessages results in stale component rendering
--------------------------------------------------------
Key: JBSEAM-713
URL:
http://jira.jboss.com/jira/browse/JBSEAM-713
Project: JBoss Seam
Issue Type: Bug
Reporter: Christian Bauer
Priority: Minor
Tough one... before I isolate the problem to a standalone test, these are the symptoms:
A page has two <h:datatable> components, let's say tableA and tableB. There is a
<h:form> around tableB with a <h:commandButton>. When this button is pressed,
I execute an action method on a conversational component and update some data in the
current conversation that is shown by tableA. The page is rendered again and tableA shows
the updated data.
However, if in the action method I use
FacesMessages.instance().add("Updated object");
(or any other variation of FacesMessages), tableA is not re-rendered but shown with old
state. If I click the commandButton again, tableA is rendered fine (!).
Now, if I replace the call to FacesMessages with this
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage("Updated
Object"));
all works as expected and on every RenderResponse of the page, tableA is rerendered.
I verified that the tableA datacomponent is not rendered again. Interestingly, the backing
bean data for tableA is called during RenderResponse every time, it just displays the same
old component (which, I think, it remembers somehow from the RestoreView phase).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira