我正在尝试构建一个递归复合组件。但不知怎的,我无法让递归停止。意思是我得到一个StackOverflowException。
我看过那个问题:https://stackoverflow.com/questions/17923220/
但是我错过了一件事。我有一个像树一样的结构,一个节点可以零到n个孩子。
<cc:interface componentType="elementContainer">
<cc:attribute name="model"
type="de.foobar.Element"
required="true" />
</cc:interface>
<cc:implementation>
<p:panelGrid columns="6">
<c:if test="#{not empty cc.attrs.model.children}">
<c:forEach var="element"
items="#{cc.attrs.model.children}">
<ic:ElementContainer model="#{element}" />
</c:forEach>
</c:if>
</p:panelGrid>
</cc:implementation>
即使没有c:if
,当items属性评估为空列表时,也不会停止递归?