0
我遇到了我的icefaces樹問題,我沒有得到backing bean中的當前節點值。所以,我決定使用nodevalue(text)來獲取值。誰能告訴我,我怎麼能得到DefaultMutableTreeNode使用nodevalue(字符串),所以我可以將其設置爲currentnode。如何使用jsf中的節點文本或節點值DefaultMutableTreeNode
我遇到了我的icefaces樹問題,我沒有得到backing bean中的當前節點值。所以,我決定使用nodevalue(text)來獲取值。誰能告訴我,我怎麼能得到DefaultMutableTreeNode使用nodevalue(字符串),所以我可以將其設置爲currentnode。如何使用jsf中的節點文本或節點值DefaultMutableTreeNode
我其實是猜你的問題。我並不完全確定你的意思,但我會打一針。它可能會幫助你。
這是來自我的一箇舊項目。我也建議現在使用Primefaces。更容易合作,更容易主題,更快(從我的經驗),和更多的組件。
<ice:tree id="tree"
value="#{TreeController.model}"
var="node"
hideRootNode="false"
hideNavigation="false"
imageDir="./xmlhttp/css/rime/css-images/">
<ice:treeNode>
<f:facet name="icon">
<ice:panelGroup style="display: inline">
<h:graphicImage value="#{node.userObject.icon}"/>
</ice:panelGroup>
</f:facet>
<f:facet name="content">
<ice:panelGroup style="display: inline">
<ice:commandLink disabled="#{!PkgLineTableController.tableRendered}"
actionListener="#{TreeController.locationNodeSelected}">
<f:param name="treeId"
value="#{node.userObject.tree.treeId}"/>
<f:param name="name" value="#{node.userObject.text}"/>
<ice:outputText id="TreeNode"
value="#{node.userObject.text}"/>
</ice:commandLink>
</ice:panelGroup>
</f:facet>
</ice:treeNode>
</ice:tree>
支持bean:
private DefaultMutableTreeNode findTreeNode(String nodeId) {
DefaultMutableTreeNode rootNode = (DefaultMutableTreeNode) getModel().getRoot();
DefaultMutableTreeNode node;
TreeObject tmp;
Enumeration nodes = rootNode.depthFirstEnumeration();
while (nodes.hasMoreElements()) {
node = (DefaultMutableTreeNode) nodes.nextElement();
tmp = (TreeObject) node.getUserObject();
if (nodeId.equals(String.valueOf(tmp.getTree().getTreeId()))) {
return node;
}
}
return null;
}
/**
* Method fired when a node is selected on the tree. This calls a few methods from the packageLineBean to build the
* package line list.
*/
public void locationNodeSelected(ActionEvent event) {
PkgLineTableController pkgLineTableController = PkgLineTableController.getCurrentInstance();
String tree_id = FacesUtils.getRequestParameter("treeId");
selectedTreeNodeName = FacesUtils.getRequestParameter("name");
DefaultMutableTreeNode node = findTreeNode(tree_id);
selectedTreeObject = ((TreeObject) node.getUserObject());
pkgLineTableController.getPkgLineTreeList().clear();
pkgLineTableController.digPackageLines(Integer.parseInt(tree_id));
pkgLineTableController.setEffect(new Appear());
WrapSpecTableController.getCurrentInstance().getWrapSpecList().clear();
}