我尝试使用Primefaces组件“树”。 在我的第一步,我想尝试使用Primefaces Demo中的数据。
http://www.primefaces.org/showcase/ui/treeSelectionSingle.jsf
这是我的代码:
TreeBean:
import java.io.Serializable;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.primefaces.model.DefaultTreeNode;
import org.primefaces.model.TreeNode;
public class TreeBean implements Serializable {
private TreeNode root;
private TreeNode selectedNode;
public TreeBean() {
root = new DefaultTreeNode("Root", null);
TreeNode node1 = new DefaultTreeNode("Node 1", root);
TreeNode node2 = new DefaultTreeNode("Node 2", root);
TreeNode node3 = new DefaultTreeNode("Node 3", root);
TreeNode node4 = new DefaultTreeNode("Node 4", root);
TreeNode node5 = new DefaultTreeNode("Node 5", root);
TreeNode node10 = new DefaultTreeNode("Node 1.0", node1);
TreeNode node11 = new DefaultTreeNode("Node 1.1", node1);
TreeNode node20 = new DefaultTreeNode("Node 2.0", node2);
TreeNode node21 = new DefaultTreeNode("Node 2.1", node2);
TreeNode node30 = new DefaultTreeNode("Node 3.0", node3);
TreeNode node31 = new DefaultTreeNode("Node 3.1", node3);
TreeNode node40 = new DefaultTreeNode("Node 4.0", node4);
TreeNode node41 = new DefaultTreeNode("Node 4.1", node4);
TreeNode node42 = new DefaultTreeNode("Node 4.2", node4);
TreeNode node43 = new DefaultTreeNode("Node 4.3", node4);
TreeNode node50 = new DefaultTreeNode("Node 5.0", node5);
TreeNode node51 = new DefaultTreeNode("Node 5.1", node5);
}
public TreeNode getRoot() {
return root;
}
public TreeNode getSelectedNode() {
return selectedNode;
}
public void setSelectedNode(TreeNode selectedNode) {
this.selectedNode = selectedNode;
}
public void displaySelectedSingle(ActionEvent event) {
if(selectedNode != null) {
FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_INFO, "Selected", selectedNode.getData().toString());
FacesContext.getCurrentInstance().addMessage(null, message);
}
}}
XHTML现场:
<h:form>
<p:tree id="treeSingle" value="#{wizard.massnahmeTree.root}"
var="node" selectionMode="single"
selection="#{wizard.massnahmeTree.selectedNode}">
<p:treeNode>
<h:outputText value="#{node}" />
</p:treeNode>
</p:tree>
</h:form>
我现在的问题是,箭头丢失了。箭头进入更深的树阶段。如果我选择一个选项,突出显示也会丢失。
你能帮助我吗?
(抱歉我的英文。:))
编辑:
我在我的ManagedBean“向导”中定义了我的bean。 代码:
// ==== Tree define === //
private TreeBean massnahmeTree;
public TreeBean getMassnahmeTree() {
return massnahmeTree;
}
public void setMassnahmeTree(TreeBean massnahmeTree) {
this.massnahmeTree = massnahmeTree;
}