JSF datatable getter is called even if it is not rendered


if you have a code like this:

<h:dataTable value=”#{bean.texts}” rendered=”false”/>

and your Bean.java as

public List getTexts(){
System.out.println(“getTexts getter called”);
return new ArrayList();

the getter is still called even if the datatable is not rendered. This does not happen in inputText or outputText etc.

I have to learn taht in JSF I can never trust the getters 😉