Re: UIData.encodeBegin row-state clearing

From: Michael Youngstrom <>
Date: Mon, 10 Jul 2006 09:49:19 -0600

Thanks for bringing this up. I have been battling this issue for a
long time. For some history on the issue see these bugs:

I believe the true solution is to be basically do what you suggest
which is to always save the state of of ValueHolder components. See
this spec issue:

If you can help provide some leverage to get this fixed I'd greatly
appreciate it. It would be very nice if we could get a fix into the
upcoming maintenance release of the spec.


On 7/10/06, Mike Kienenberger <> wrote:
> The javadocs of UIData.encodeBegin state:
> =========
> In addition to the default behavior, ensure that any saved per-row
> state for our child input components is discarded unless it is needed
> to rerender the current page with errors.
> =========
> It seems to me that the "with errors" part should be dropped.
> Consider the case of a page with a UICommand where immediate="true"
> and a UIData containing UIInput components.
> In this case, the UIInputs will lose any submitted values when the
> UICommand is triggered. This is the behavior I'm seeing with the
> MyFaces implementation, and I don't see a way around it in the spec.
> Can we change the spec to preserve the state whenever the UIInputs
> have a submitted value or a local value still present? This seems
> more useful than checking for an error message.
> Taking a look at the latest JSF 1.2 RI source, I also see that the
> state is also saved if the UIData is inside another UIData. The spec
> docs should reflect this as well.
> I'm going to try to be on ##jsf today if anyone would rather talk
> about it there.
> ---------------------------------------------------------------------
> To unsubscribe, e-mail:
> For additional commands, e-mail: