转发给自己时刷新jsf页面
Refresh jsf page when forwarding to itself
我正在开发一个带有 PrimeFaces 树作为导航的 JSF 网络应用程序。
例如:
- 项目 1
- 客户 1
- 客户 2
- 项目 2
- 客户 3
- 等等
当用户单击一个节点时,支持 bean 转发到相应的页面,如下所示:
FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(FacesContext.getCurrentInstance(), "null", "/" + /*Page Name*/ + ".xhtml");
从项目页面导航到客户页面或相反时,这不是问题。但是,当我在项目页面上并尝试导航到另一个项目页面(比如从项目 1 到项目 2)时,页面不会刷新(大概是因为 JSF 假定它已经在正确的页面上)。
如何在导航到自身时强制 JSF 刷新页面?
我不想使用 faces-redirect=true
来防止浏览器中的 URL 发生变化。
谢谢!
我最终创建了一个额外的 xhtml 文件,该文件在加载时调用导航方法。现在单击树节点会重定向到该文件,然后导航方法会重定向到适合所选节点的页面。
这种方法在编程上并不十分优雅,但它有效并且不会显着降低应用程序的速度。
我正在开发一个带有 PrimeFaces 树作为导航的 JSF 网络应用程序。
例如:
- 项目 1
- 客户 1
- 客户 2
- 项目 2
- 客户 3
- 等等
当用户单击一个节点时,支持 bean 转发到相应的页面,如下所示:
FacesContext.getCurrentInstance().getApplication().getNavigationHandler().handleNavigation(FacesContext.getCurrentInstance(), "null", "/" + /*Page Name*/ + ".xhtml");
从项目页面导航到客户页面或相反时,这不是问题。但是,当我在项目页面上并尝试导航到另一个项目页面(比如从项目 1 到项目 2)时,页面不会刷新(大概是因为 JSF 假定它已经在正确的页面上)。
如何在导航到自身时强制 JSF 刷新页面?
我不想使用 faces-redirect=true
来防止浏览器中的 URL 发生变化。
谢谢!
我最终创建了一个额外的 xhtml 文件,该文件在加载时调用导航方法。现在单击树节点会重定向到该文件,然后导航方法会重定向到适合所选节点的页面。
这种方法在编程上并不十分优雅,但它有效并且不会显着降低应用程序的速度。