0

我正在使用 jsf 1.2 和 icefaces 1.8

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

使用 ac:forEach 我在第 2 步中为用户显示一些输入。问题是当返回第 1 步时,选择另一个选项并在第 2 步中显示另一组输入,一些输入组件的初始 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 从头开始​​重新创建它们...

4

1 回答 1

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();
于 2012-09-27T11:33:08.817 回答