jsf-2 - JSF 呈现的问题

标签 jsf-2 el

是否真的应该评估子元素的 EL 解析为 render="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)在这种情况下返回 null,然后调用 getCompetenceTree(3)它返回 null,即使它的父级( p:tab )有 rendered="false"
简而言之:xdin:competenceTable即使它的父级具有 rendered="false" 也被 EL 解析.为什么?

最佳答案

看看下面的 JSF 生命周期。

渲染只是最后阶段,rendered="false"只影响最后一个阶段,而构建组件的错误发生在第一个阶段。

非渲染组件实际上在所有阶段都不应该做任何事情,但看起来你的组件不符合规范的那部分。

enter image description here

关于jsf-2 - JSF 呈现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5960909/

相关文章:

jsp - 在使用 tomcat 7 的 jspc 预编译 jsp 期间未评估 el

java - 在 primeFaces 中禁用 rowEditor 的铅笔

java - 如何在 el jsp 中执行 ${bean.methodWithArg ('${value}' )}

java - JSTL和表达式语言之间的确切区别和关系

string - JSTL 函数来替换字符串中的引号字符?

java - JSTL 访问 HashMap 中的整数/长键

JSF 支持组件 - 复合组件 - Stackoverflow 异常

maven - 启动payara 5 遇到过

jsf-2 - JSF 核心标签 :setPropertyActionListener vs attribute vs param

java - JSF : Issues with File Upload using Icefaces component