Jsf 2 仍然调用非renderd JSF面板中的方法

Jsf 2 仍然调用非renderd JSF面板中的方法,jsf-2,facelets,Jsf 2,Facelets,在下面的代码中,当#{bean.renderPanel1}的计算结果为false时,仍然会调用ui:repeat中的方法 这是预期的行为吗 有没有办法阻止这个电话的发生。例如,使用非h:panelGroup的内容,但不使用c:if 在下面的代码中,当#{bean.renderPanel1}的计算结果为true时,仍然会调用ui:repeat中的方法 是的,这完全是意料之中的行为。只有当呈现属性的计算结果为false时,才会调用它。我编辑的问题中有一个输入错误。我的意思是说,我进行了测试,即

在下面的代码中,当
#{bean.renderPanel1}
的计算结果为false时,仍然会调用ui:repeat中的方法

  • 这是预期的行为吗
  • 有没有办法阻止这个电话的发生。例如,使用非
    h:panelGroup
    的内容,但不使用
    c:if
  • 
    
    在下面的代码中,当#{bean.renderPanel1}的计算结果为true时,仍然会调用ui:repeat中的方法


    是的,这完全是意料之中的行为。只有当呈现属性的计算结果为
    false

    时,才会调用它。我编辑的问题中有一个输入错误。我的意思是说,我进行了测试,即使“#{bean.renderPanel1}”为false,也会调用“#{bean.panelOneItems}”。这是预期的吗?不。那么您使用的是什么JSF impl/版本?很高兴知道不应该调用非渲染面板中的方法。我将查看我使用的Mojarra版本是否存在问题
    <h:panelGroup id="panel1" rendered="#{bean.renderPanel1}">      
      <ui:repeat value="#{bean.panelOneItems}" var="item">                                  
    
      </ui:repeat>                  
    </h:panelGroup>