我需要任意嵌套的TreeTable,所以我通过以下方式以编程方式创建它们:
TreeNode r=new DefaultTreeNode("R",null), s=new DefaultTreeNode("S",r), t=new DefaultTreeNode("T",s);
s.setExpanded(true); t.setExpanded(true);
TreeTable treeTable=new TreeTable();
treeTable.setValue(r);
treeTable.setVar("var");
Column col=new Column();
OutputLabel ol=new OutputLabel();
ol.setValue("node"); // later use valueExpression
col.getChildren().add(ol);
treeTable.getColumns().add(col);
Panel op=(Panel)FacesContext.getCurrentInstance().getViewRoot().findComponent("form:panel");
op.getChildren().add(treeTable);`
这会将TreeTable添加到Panel中。但是,单击根节点的箭头正确折叠它时,无法进行扩展。
此外,我没有找到关于如何以编程方式创建PF组件的文档,而是一些专家博客。
工具:PF6.0,glassfish4.1.1,CDI1.1,Java 8,Mojarra 2.2.12,JEE 7