私のjsfページには<p:treeTable>
構造があります。列の1つに配置された小さなアイコンをクリックすると、ノードを削除しようとしています:
<p:column rendered="#{node.isLeaf}" style="width:70px">
<p:commandLink styleClass="entity-icon" update=":clipboard-tree" ajax="true"
action="#{clipboardManager.removeClipboard(node)}" >
<p:graphicImage value="/resources/images/delete.png" styleClass="entity-icon-tree"/>
</p:commandLink>
</p:column>
私の removeClipboard 関数は次のようになります。
public void removeClipboard(FindResult result){
TreeNode node = result.getNode();
node.getChildren().clear();
node.getParent().getChildren().remove(node);
node.setParent(null);
node = null;
}
これは、primefaces が提供するショーケースに似ています。ただし、ツリーは 2 回目のクリックでのみ更新され、次の例外が発生します。
[Index: 0, Size: 0] with root cause java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
これは、ノードの最後の子を削除しようとしたときにのみ発生します。なぜこれが起こっているのか誰にも分かりますか?または、どうすれば修正できますか?前もって感謝します。