If the ViewState is not being updated during Ajax requests, shouldn't
form1 still have the same ViewState from when the page was initially
rendered?
Ted.
On 19-Jun-09, at 4:25 PM, Dan Allen wrote:
On Fri, Jun 19, 2009 at 3:07 PM, Roger Kitain <Roger.Kitain(a)sun.com>
wrote:
Background:
It used to be that when processing an Ajax response on the client,
all forms in the view
would get updated with the view state from the server (which had
it's own set of portlet
related issues). Before the specification went final it was decided
that only the submitting form should have it's view state updated
from the server.
Problem:
Consider the case where there are multiple forms in the view, and
one of the forms
is a partial render target. So here, "form1" is an Ajax render
target:
<h:form id="form1">
<h:commandButton value="Should be postback" id="button1"/>
</h:form>
<h:form id="form2">
<h:commandButton value="Rerender form1" id="button2">
<f:ajax render=":form1"/>
</h:commandButton>
</h:form>
In this scenario, "form1" is missing the view state identifier
causing a
"non postback" when "button1" is clicked.
-----------------------
I think this could get by as an errata for the MR, as we would need
to include additional
spec language.
+1. We need to be very sensitive about these "ghost clicks" because
that issue has really spurned JSF users in the past.
-Dan
--
Dan Allen
Senior Software Engineer, Red Hat | Author of Seam in Action
http://mojavelinux.com
http://mojavelinux.com/seaminaction
http://in.relation.to/Bloggers/Dan
NOTE: While I make a strong effort to keep up with my email on a daily
basis, personal or other work matters can sometimes keep me away
from my email. If you contact me, but don't hear back for more than
a week,
it is very likely that I am excessively backlogged or the message was
caught in the spam filters. Please don't hesitate to resend a
message if
you feel that it did not reach my attention.