以前のサイトの URI を保存して、ターゲット サイトでのバック リダイレクトを許可するために、フラッシュ スコープを使用することを考えました。
メイン サイトで、ajax は Bean メソッドを呼び出して現在の URI をフラッシュに保存し、パラメーターとして指定されたターゲット サブ サイトに移動します。
サブサイトでは、以前にフラッシュから保存された URI を使用して、Bean から単純なナビゲート メソッドが呼び出されます。
問題は次のとおりです 。フラッシュ内のデータは空ですが、サイトで印刷すると正しいです。
サブサイト
#{flash.PREVIOUS_URI}
<h:form>
<h:commandLink value="Redirect from flash"
action="#{bean.navigate(flash.PREVIOUS_URI)}"/>
</h:form>
public String navigate(final String outcome)
{
return outcome;
}
次のリクエストでアクション呼び出しがflash.PREVIOUS_URI
評価され、フラッシュ値が空になりますか?
または、サイトに var として保存して機能させるにはどうすればよいですか? <c:set>
動作しないようです。