別のアクションからアクションにリダイレクトするときに奇妙な問題が発生しています。要するに、最初のアクション (リダイレクト元) でキャプチャされた名前付き変数は、何らかの形で値スタックに保持され、2 番目のアクションで同じ名前付き変数を上書きしています。いくつかのコードで説明します。
<action name="r/{seoURL}" class="ReportsAction"
method="displayReport">
...
<result name="REDIRECT_TO_NEXT_ACTION" type="redirectAction">
<param name="actionName">s/${seoURLForRedirect}</param>
<param name="namespace">/reports</param>
</result>
...
</action>
戻る前に変数${seoURLForRedirect}
を設定しています。ReportsAction
2 番目のアクションには、次のマッピングがあります。
<action name="s/{seoURL}" class="ReportSeriesAction"
method="displayReportSeries">
...
</action>
ご覧のとおり、2 番目のアクションに同じ名前の変数がありますseoURL
。この値は、最初のアクションで見つかった値に設定されます。seoURL
値スタックが最初のアクションで設定された値を維持している理由を理解できません。特に、リダイレクト結果パラメーターに上書きしているためです。
どんな助けでも感謝します。