Details
-
Improvement
-
Status: Closed
-
Minor
-
Resolution: Won't Fix
-
1.1.5
-
None
-
None
-
None
Description
I noticed today strange behavior if I change the loglevel for myfaces. Some getters of backing beans are called although the rendered attribute of a parent component is false. It is caused by class DebugUtils.traceView.
I enabled logging via following setting: log4j.logger.org.apache.myfaces=DEBUG
Sample jsp:
<t:panelGroup rendered="#
">
<t:dataTable value="#
" ...
</t:panelGroup>
myController.getValue() is now called if logging is enabled although myflag is not set in request scope.
This makes debugging difficult if the app behaves different depending on loglevel settings. Data can be uninitialized if the parent should not be rendered (or it will be lazy initialized on each request if BackingBean is request scope and not saved in the request).
Therefore I would prefer to skip all components that should not be rendered from output.
I'll provide a patch as soon as possible (I 'l try this month)