webtier@glassfish.java.net

rendered attribute in combination with ui:decorate etc.

From: <webtier_at_javadesktop.org>
Date: Wed, 07 Jul 2010 05:40:33 PDT

Hi there,
i am experiencing problems with components using the rendered attribute, when being
included by the use of ui:decorate / ui:include etc.

Image you have a <h:dataTable value="#{featureSelectionWB.dummy}" > tag on a page called test.xhtml.

The dataTable will use the collection provided by the featureSelectionWB.getDummy() method. I put a System.out.println inside the getDummy() method, to see when it gets called. When the dataTable tag gets a rendered="false" attribute, it doesn´t get rendered upon loading of the test view, neither does the getDummy() method get called. This is expected.

However, when i put an <ui:decorate template="test.xhtml"/> on a page called main.xhtml, the dataTable does not get rendered, but the getDummy() method gets called nevertheless! Regardless if i put a ui:fragment with rendered="false" around the <ui:decorate> tag, the getDummy() method gets called. Is this a bug or can i somehow prevent the getter from being called if the rendered attribute is false?

Thanks a lot, sebastian.
[Message sent by forum member 'sebastian_wegener']

http://forums.java.net/jive/thread.jspa?messageID=476994