使用时如何将参数传递到下一页ConfigurableNavigationHandler
?
问问题
1618 次
1 回答
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>
也可以看看:
于 2012-10-19T07:51:44.050 回答