0
struts2チェーンの結果が自分自身にリダイレクトされますが、最終的にfalseと評価されて再帰が停止するため、無限ループを作成しません。私はredirectActionが行うことができないPOSTリクエストが必要なので、redirectActionの代わりにチェーンを使用する必要があります。Struts2無限再帰が検出されました
これは私が無限ループ検出がベースとxworkの瓶をしてきた
Could not execute action
Infinite recursion detected: [/view/myAction!myMethod, /view/myAction, /view/myAction] - [unknown location]
at com.opensymphony.xwork2.ActionChainResult.execute(ActionChainResult.java:214)
を取得していた例外です。チェーンの履歴を調べ、アクション名が見つかると例外をスローします。最大再帰は1にハードコードされています。
連鎖中に例外を処理したり、再帰の最大回数を増やしたり、チェーン履歴を手動でリセットする方法はありますか?
チェーンに時を検出したり、破損するビジネス変数を使用するアクション*チェーン*に*自身*からチェーン履歴を操作する方法を見つけましたか?それは災害のための素晴らしいレシピのように聞こえる。全体の操作を再考する。自分自身にチェーン/リダイレクトしたり、まったくチェーンしたり、POSTを使用したりしないでください。POST/REDIRECT/GETを使用してください。アクション内にある共通ロジックが必要な場合は、そのロジックを抽出してアクション外のビジネスコンポーネントに入れ、必要なすべてのアクションからコールします。 –