使用ConfigurableNavigationHandler
时如何将参数传递到下一页?
答案 0 :(得分:2)
您可以通过在结果中附加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>
另见: