2012-10-19 36 views

回答

2

您可以通过在结果中附加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> 

参见:

+0

但我需要通过1)定制的对象作为参数2),这些对象是通过从数据库和ma中提取细节构建的在使用CongNavHandler进行导航之前将它们放到对象上。 – MyFist

+0

查看更新的答案! – Ravi

相关问题