Closed Toru47 closed 2 years ago
As you have set the log level to DEBUG you have asked the Mojarra runtime to print the component tree. In order to do that it has to walk each of the nodes in the tree and determine what has to be printed. It appears your model is not taking into account that the component tree can be walked before, during and after any of the lifecycle phases.
Thanks for your answer. Okay, I understand that f:selectItems
is obviously a taghandler which is executed during view build time. But why only in JSF debug mode? If I run WildFly not in debug mode the method myBean#lst
is not called. Or is f:selectItems
an UIComponent? But if so why is the method myBean#lst
then called at view build time? Sorry, I'am a little bit confused.
As the dataTable value is an empty list during regular render response it will not ask for the h:column because it already knows there is nothing to add to the response. This is why in normal operation you do not see the call happening.
MyBean.java:
index.xhtml:
Setting Wildfly loglevel to e.g. INFO or DEBUG
myBean#lst
is not called. That is what I do expect becauseh:dataTable
list is empty. Setting loglevel to FINEST results in a NPE becausemyBean#lst
is evaluated. But why? Theh:dataTable
list is still empty.