0

ThreadLocal を使用する Grails アプリケーションがあります。

現在、ThreadLocal の入力とクリアはフィルターによって処理されます (: 入力、: クリア)。

問題は、フィルターのafter -call がテンプレートがレンダリングされる前に実行されるため、必要な変数がすべて早期に null になることです。応答が完全に書き込まれた後に ThreadLocals のクリアをトリガーする簡単な方法はありますか?

1 つの方法は、ThreadLocal を設定する前にクリアすることです。これにより、すべての作業をフィルターの呼び出し前に残します。しかし、変数が何にも使用されなくなった後、変数を「運ぶ」ThreadLocalを残すという考えは好きではないので、何か他のものが必要です。

4

1 に答える 1

0

afterコントローラーアクションが終了した後に呼び出されます-afterViewビューがレンダリングされた後に呼び出されるクリーンアップが必要です。

于 2011-03-02T06:54:47.927 に答える