2
如何在使用ConfigurableNavigationHandler
时将参数传递到下一页?如何在使用ConfigurableNavigationHandler时将参数传递到下一页
如何在使用ConfigurableNavigationHandler
时将参数传递到下一页?如何在使用ConfigurableNavigationHandler时将参数传递到下一页
您可以通过在结果中附加includeViewParams = true来传递参数。
ConfigurableNavigationHandler configurableNavigationHandler =
(ConfigurableNavigationHandler)FacesContext.
getCurrentInstance().getApplication().getNavigationHandler();
configurableNavigationHandler.performNavigation("success?faces-redirect=true&includeViewParams=true");
UPDATE
如果你想重定向后发送的对象。您可以为此使用Flash范围。放置在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>
参见:
但我需要通过1)定制的对象作为参数2),这些对象是通过从数据库和ma中提取细节构建的在使用CongNavHandler进行导航之前将它们放到对象上。 – MyFist
查看更新的答案! – Ravi