Макет страницы Primefaces с древовидным меню в качестве навигации
Я использую Primefaces 3.1 с `, имея четыре позиции. В западной позиции (запад) я добавил дерево меню. Код JSF следующий
<code><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> </code>
и в TreeBean у меня есть
<code>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); </code>
Возможно ли иметь навигацию, когда я раскрываю и щелкаю по одному из этих узлов и, щелкая по соответствующим узлам, как я могу отображать страницы jsf в центральной позиции макета. то есть, если я щелкаю узел Blue, в идеале я хотел бы, чтобы другая страница jsf была загружена в центральную позицию макета.
Любая помощь очень заметна.
Спасибо
Обновление 1
Я добавил следующий код, и он выполняет навигацию в start.xhtml. Однако start.xhtml отображается не внутри моего макета, start.xhtml отображается как новая страница.
<code>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 } </code>