2

使用時に次のページにパラメータを渡すにはどうすればよいConfigurableNavigationHandlerですか?

4

1 に答える 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 に答える