我有一个从控制器获取TreeNode的html页面。
affectationController.getDossierEnBrefAffectations()
这样,treeContent="${affectationControleur.consulterDossierEnBrefAffectations.children[0]}"
是一个返回该树节点的函数。我想得到这棵树的根节点。
我尝试使用flask
因为TreeNode类具有函数getChildren。但它不是EL的正确语法。
答案 0 :(得分:1)
如果您还没有扩展DefaultTreeNode
类或实现界面,请执行此操作。现在,您只需将此方法添加到树节点实现中即可:
public TreeNode getRoot() {
if (getParent() == null) {
return this;
}
TreeNode root = getParent();
while (root.getParent() != null) {
root = root.getParent();
}
return root;
}
这允许您使用:#{bean.treeNode.root}
。
如果你不能改变模型,你可以在你的bean中添加类似的东西:
public TreeNode getRoot(TreeNode node) {
if (node.getParent() == null) {
return node;
}
TreeNode root = node.getParent();
while (root.getParent() != null) {
root = root.getParent();
}
return root;
}
这允许您使用:#{bean.getRoot(treeNode)}
。