インターセプターを使用してStrutsベースのアプリケーションにいくつかのものを実装していますが、それらのライフサイクルがどのように機能するかについて混乱しています。Strutsのドキュメント(「インターセプター」、「ライティングインターセプター」、「全体像」)によると、次のように機能するはずです。
FirstInterceptor NextInterceptor LastInterceptor アクション 結果 LastInterceptor NextInterceptor FirstInterceptor
これは理にかなっていますが、アクションの前に実行されているインターセプター呼び出しと、結果がレンダリングされた後に実行されているインターセプター呼び出しを区別する方法に出くわしています(PreResultListener
ここではsをスキップしています)。デバッガーを起動すると、2回の呼び出しがあり、渡さ (更新:この部分は私の側で大きな混乱でした、そして私がそれを手に入れたら私は以下の私の質問に答えることができました)intercept()
れているものであまり明白なものを見つけることができません。ActionInvocation
「全体像」のページでは、「前」と「後」の「節」と呼ばれるものについてやや紛らわしい話をしていますが、どうすればよいかわかりません。
[...]
これには、アクション自体を呼び出す前にインターセプター(before句)を呼び出すことが含まれます。
[...]
インターセプターが再度実行されます(逆の順序で、after句を呼び出します)。
[...]
(更新:これらの2つの文はまだ悪いですが)