jsf-2 - 使用ConfigurableNavigationHandler时如何将参数传递到下一页

标签 jsf-2

使用ConfigurableNavigationHandler时如何将参数传递到下一页?

最佳答案

您可以通过将 includeViewParams=true 附加到结果来传递参数。

ConfigurableNavigationHandler configurableNavigationHandler =
         (ConfigurableNavigationHandler)FacesContext.
           getCurrentInstance().getApplication().getNavigationHandler();

     configurableNavigationHandler.performNavigation("success?faces-redirect=true&includeViewParams=true");

更新

如果您想在重定向后发送对象。您可以使用 Flash Scope 来实现此目的。 放置在 Flash 范围内的对象将可用于后续请求,然后被清除。 换句话说,放置在 Flash 范围内的对象将在重定向后继续存在。

context = FacesContext.getCurrentInstance();
ConfigurableNavigationHandler configurableNavigationHandler =
     (ConfigurableNavigationHandler)context.getApplication().getNavigationHandler();

Flash flash = context.getExternalContext().getFlash(); 
flash.put("userBean", this);
configurableNavigationHandler.performNavigation("success?faces-redirect=true");

并将其用于如下结果:

<h4>#{flash['userBean'].username}</h4>

另请参阅:

关于jsf-2 - 使用ConfigurableNavigationHandler时如何将参数传递到下一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12967065/

相关文章:

javascript - 在使用 ui :include 包含的 xhtml 文件中包含 JS 文件

jsf - JSF 2.0中方法调用的方法签名?

java - 为纯 AJAX 构建 JSF 2 应用程序

jsf-2 - h :form rendered correctly, 但 h :commandLink doesn't get rendered correctly. 我必须在链接上单击两次

jsf - 未实现primefaces延迟加载

JSF commandButton - 将 POST 参数传递到外部站点

jsf - p :selectOneMenu doesn't render custom content via p:column on List<String>

java - 无法将 xhtml 更改作为 7.1.1 发布到 Jboss 而不重新部署到服务器

jsf - 在 View 之间保留 bean 值

jsf - JSF 中的 class 和 styleClass 属性有什么区别?