JSF:呈现属性

JSF:呈现属性,jsf,Jsf,我有一个具有渲染属性的panelGroup。为什么即使渲染属性设置为false,也会调用panelGroup中的组件值?我是否理解此处的渲染属性 我想做的是:我在panelGroup前面有一个selectManyCheckbox,只有当用户在selectManyCheckbox中选择了值并按下按钮时,panelGroup中的所有内容才应该执行。这不会像这样工作,因为panelGroup中的组件取决于用户必须在selectManyCheckbox中选择的值 <h:selectManyChec

我有一个具有渲染属性的panelGroup。为什么即使渲染属性设置为false,也会调用panelGroup中的组件值?我是否理解此处的渲染属性

我想做的是:我在panelGroup前面有一个selectManyCheckbox,只有当用户在selectManyCheckbox中选择了值并按下按钮时,panelGroup中的所有内容才应该执行。这不会像这样工作,因为panelGroup中的组件取决于用户必须在selectManyCheckbox中选择的值

<h:selectManyCheckbox /> // for the user to choose
<h:commandButton /> // to render the panelGroup

<h:panelGroup rendered="#{someBean.render}">
  <h:dataTable value="#{someOtherBean.loadSomething(someObject)}" var="item">
    // ...
  </h:dataTable>         
</h:panelGroup>
//供用户选择
//要呈现panelGroup,请执行以下操作:
// ...

属性
rendered
仅说明是否应在客户端DOM上呈现以下组件。这些组件仍将遵循JSF生命周期事件,并将保持托管bean的价值

编辑:响应解决方案请求:

我能看到的解决此问题的最简单方法是,如果不希望value属性调用bean方法,那么只需在bean方法中使用渲染条件上的if检查来包装逻辑

public void loadSomething(Object someObject) {
  if (render()) {
    //Do loadSomething logic
  }
}

当rendered=false时,组件是否会发送到客户端,然后不显示或根本不发送?