私はprimefaces 3.1を使用しています。 西の位置(西)にツリーメニューを追加しました。 JSFのコードは、私がPrimefacesのページレイアウトとナビゲーションとしてのツリーメニュー
root = new DefaultTreeNode("Root", null);
TreeNode node0 = new DefaultTreeNode("Color", root);
TreeNode node00 = new DefaultTreeNode("Red", node0);
TreeNode node01 = new DefaultTreeNode("Blue", node0);
TreeNode node02 = new DefaultTreeNode("Green", node0);
は、私は、JSFページを表示することができるか、それが可能に私が展開するとナビゲーションを持っており、これらのノードのいずれかをクリックすることであり、それぞれのノードをクリックすると、持っている
<p:layoutUnit position="west" size="200" header="Left"
resizable="true" collapsible="true">
<h:form>
<p:tree dynamic="true" value="#{treeBean.root}" var="node" id="tree"
selectionMode="single">
<p:treeNode id="treeNode">
<h:outputText value="#{node}" id="lblNode" />
</p:treeNode>
</p:tree>
</h:form>
</p:layoutUnit>
とTreeBeanにたどりますレイアウトの中心位置に配置します。つまりノードBlueをクリックすると、理想的には別のjsfページをレイアウトの中心位置にロードすることができます。
助けを借りると非常に感謝します。
おかげで、私は、次のコードを追加しているし、それはナビゲーションがstart.xhtmlしない1
更新。しかし、start.xhtmlはレイアウト内に表示されず、start.xhtmlは新しいページとして表示されます。
public void onNodeSelect(NodeSelectEvent event) {
try {
System.out.println(" here " + event.getTreeNode().getData());
FacesContext
.getCurrentInstance()
.getApplication()
.getNavigationHandler()
.handleNavigation(FacesContext.getCurrentInstance(),
"null", "/start.xhtml?faces-redirect=true");
} catch (Exception e) {
logger.info("error "+e.getMessage());
// TODO: handle exception
}
これを達成する他の方法はありますか? – user75ponic
助けてくれてありがとう、私はこれを試してみる。 – user75ponic