0

私の質問は、 Spring mvc インターセプター addObjectに関連しています

ある時点で、アプリケーションはアクセスされた previousUrl が何であるかを知る必要があるため、場合によっては、previousUrl が ModelAndView に格納され、「previous」を呼び出すことができます。

別のケースでは、リダイレクトを行いたいのですが、ブラウザの URL バーに previousUrl を表示したくありません。しかし、新しい ModelAndView を初期化しようとすると、古い previousUrl オブジェクトがまだ残っています。これはどのように可能ですか?

コード

if (requestEmployee == null) {
    LOGGER.warn("User [" + requestEmployeeName + "] not found.");
    model = new ModelAndView(AbstractController.VIEW_REDIRECT_OVERVIEW, null);
    return model;
}

モデル オブジェクトなしで新しい ModelAndView を作成する必要があるのに、なぜ previousUrl オブジェクトがまだブラウザのパス変数として URL に追加されているのでしょうか?

4

1 に答える 1

0

これは、ハンドラー メソッドのシグネチャが何であるかに依存する場合があります。

SpringRequestMappingHandlerAdapterは実際には、返さModelAndView れた から既存のモデル属性にモデル属性を追加しています。ハンドラー メソッドの引数の 1 つとして持っていてModel、そこにいくつかの属性を追加している場合、それらはマージされます。

于 2013-06-12T20:51:54.937 に答える