This has been a problem with Facelets from the start. Facelets has always built and serialized the component tree in one fell swoop. I&#39;ve run into this problem a number of times when trying to add default behavior to a component tree.<br>
<br>Of course, you have the PreRenderViewEvent, which gets called just before the rendering begins, so you have a populated tree at that point. However, any changes to the tree are not recorded by the state saving mechanism (I&#39;d need to verify that).<br>
<br>Perhaps what we need instead is for the state saving to recheck if the component tree state changed by a PreRenderViewEvent listener. (Of course, I think you could do this yourself in one of these listeners, but not the ideal solution).<br>
<br>This brings up an important documentation question. At what point in the lifecycle do we recommend that the application add dynamic elements to the component tree? Some guidance would be helpful.<br><br>-Dan<br><br><div class="gmail_quote">
On Mon, Nov 2, 2009 at 4:52 PM, Ryan Lubke <span dir="ltr">&lt;<a href="mailto:Ryan.Lubke@sun.com">Ryan.Lubke@sun.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Please see Mojarra-1383 [1] for background on this issue.<br>
<br>
Based on this, it seems we would need to remove the last bullet item in this section that states:<br>
<br>
   &quot;Publish an PostAddToViewEvent with the created UIViewRoot as the event source.&quot;<br>
<br>
and move the responsibility of publishing this event to ViewDeclarationLanguage.buildView() - the<br>
point when the view is actually populated.<br>
<br>
Thoughts?<br>
<br>
[1] <a href="https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1383" target="_blank">https://javaserverfaces.dev.java.net/issues/show_bug.cgi?id=1383</a><br>
</blockquote></div><br><br clear="all"><br>-- <br>Dan Allen<br>Senior Software Engineer, Red Hat | Author of Seam in Action<br>Registered Linux User #231597<br><br><a href="http://mojavelinux.com">http://mojavelinux.com</a><br>
<a href="http://mojavelinux.com/seaminaction">http://mojavelinux.com/seaminaction</a><br><a href="http://www.google.com/profiles/dan.j.allen">http://www.google.com/profiles/dan.j.allen</a><br>