Действительно ли EL-разбор дочерних элементов для элементов с rendered = "false" действительно должен оцениваться?Это вызывает у меня много проблем с исключениями нулевого указателя и тому подобным.Рассмотрим следующий пример:
<p:tab title="#{userCompetenceController.getTreeName(3)}" rendered="#{!empty userCompetenceController.getTreeName(3)}">
<xdin:competenceTable id="competenceBox3"
profile="#{userCompetenceController.selectedProfile}"
tree="#{userCompetenceController.getCompetenceTree(3)}"
maxHeight="500px"/>
</p:tab>
Основная проблема (помимо производительности) заключается в том, что xdin:competenceTable
не поддерживает нулевой tree
-атрибут.getTreeName(int index)
возвращает ноль в этом случае, после чего следует вызов getCompetenceTree(3)
, который возвращает ноль, даже если его родитель (p:tab
) имеет rendered="false"
Короче: xdin:competenceTable
анализируетсяEL, хотя его родитель имеет rendered="false"
.Почему?