1

Springがページにフラッシュする直前に出力コンテンツを変更する適切な方法はありますか? コンテンツの準備ができたら、正規表現を実行してすべてのリンクを 1 に修正する必要があります。

インターセプターを使用しているとしましょう。レンダリングされたコンテンツを取得し、変更して元に戻すにはどうすればよいですか?

public class SpringControllerInterceptor extends HandlerInterceptorAdapter {

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle");

    }
}
4

2 に答える 2

1

レイヤーを追加しFilterて応答を処理できます。応答本文全体を取得して、必要なリンクを処理できます。

于 2012-12-17T22:05:06.623 に答える
0

Spring MVC Interceptor は、これを行う方法の 1 つです。postHandleメソッドをオーバーライドして、http 応答オブジェクトを更新します。

void postHandle(HttpServletRequest request,
                HttpServletResponse response,
                Object handler,
                ModelAndView modelAndView)
                throws Exception

ハンドラーの実行をインターセプトします。HandlerAdapter が実際にハンドラーを呼び出した後、ただし DispatcherServlet がビューをレンダリングする前に呼び出されます。

続きを読む:

  1. Spring MVC インターセプターの例
  2. Spring インターセプターのドキュメント
于 2012-12-17T22:21:20.430 に答える