使用Primefaces Tree导航

时间:2012-05-16 07:22:12

标签: jsf primefaces

我正在使用Primefaces 3.2和JSF 2.0。

在我的应用程序中,某些情况下节点选择应导致导航。问题是,似乎从Primefaces 3.2中删除了“nodeSelectListener”属性,迫使我使用带有

的ajax
<p:Tree ...>
 <p:ajax event="select" listener="#{treeBean.onNodeSelect}" />
</p:Tree>

只允许我使用

进行导航
ExternalContext ec = fc.getExternalContext();
ec.redirect(url);

如果没有导航后节点选择消失的事实,那就没问题了。树位于所有页面上呈现的facelet模板内。

我的问题是我无法使用传统的JSF导航进行导航,例如在使用Ajax时返回一个String,即:“myPage.xhtml”。那是行不通的。

我到处寻找更好的解决方案,但我只找到使用“nodeSelectListener”的示例,在树上设置ajax = false。那至少是3.2之前。 似乎很难在重定向之后以编程方式设置所选值。有没有人有更好的解决方案?

更新:我找到了一个在某种程度上有效的解决方案:

在onNodeSelect方法中,我使用了这个

FacesContext
  .getCurrentInstance()
  .getApplication()
  .getNavigationHandler()
  .handleNavigation(FacesContext.getCurrentInstance(),
          "null", "myPage.xhtml");

0 个答案:

没有答案