有什么方法可以删除jsf中特定组件的子节点?

时间:2012-05-17 10:33:20

标签: jsf icefaces

我在jsf 1.2和icefaces 1.8

工作

我有一个弹出窗口,我正在建立一个向导。

使用ac:forEach我在步骤2中为用户显示了一些输入。问题是当返回到步骤1时,选择另一个选项并在步骤2中显示另一组输入 initial保留输入组件的ID ......

有什么方法可以删除主要div的孩子吗?

我的结构如下:

    <ice:panelGroup binding="#{addServiceResourcesBean.wrapperDiv}">

      <c:forEach
                    var="index"
                    begin="0"
                    end="#{addServiceResourcesBean.attribsListSize}"
                    step="1"
                    varStatus="status">

          //inputs rendered
     </c:forEach>
    </ice:panelGroup>

我只是希望从wrapperDiv中删除所有子节点会强制jsf循环从头开始用其他ID重新创建它们......

1 个答案:

答案 0 :(得分:1)

这对我有用,只需拨打getChildren,然后拨打clear

<h:form id="form1">
  <h:panelGroup id="panel1">
      .... forEach ...

  </h:panelGroup>
</h:form>
String clientId = "form1:panel1";
UIComponent comp = FacesContext.getCurrentInstance().getViewRoot().findComponent(clientId);
// here there is the call
comp.getChildren().clear();