2

Spring のドキュメント、いくつかのチュートリアル、および「Spring in Action」の本に従って、最初の Spring MVC コントローラーを実装しようとしています。

今、私は疑問を持っています.コントローラーメソッドを実装すると、モデルの処理に違いがあることがわかります. Map<String, Object>Modelオブジェクト、またはオブジェクトを使用することがありModelAndViewます。

オブジェクトを使用する場合と別のオブジェクトを使用する場合の違いはどれですか? 別の代わりに 1 つを選択する理由はどれですか?

4

3 に答える 3

2

ModelAndView には、モデルとビューの名前が含まれています。契約上、ModelMap にはモデルに関する情報のみが含まれます。

したがって、モデルとビューを使用すると、ビュー名を明示的に設定できます。

モデルをセットアップしてコントローラーで文字列を返すだけの場合、ビュー名はリクエスト uri から推測されます。

于 2012-04-11T09:19:48.470 に答える
0

Spring docs:「通常、ModelAndView インスタンスは、ビュー名と、Bean 名と対応するオブジェクト (参照データを含むコマンドやフォームなど) を含むモデル Map で構成されます。」- フォームからエントリを収集したり、何か (dao オブジェクト) を表示したりする必要がある場合に、オブジェクトをビューに転送する (または戻す) 方法です。

---- 例 ModelAndView モデル = new ModelAndView(); model.addObject(パス);
model.addObject("ユーザー",ユーザー);
model.addObject("あいさつ",service.getMessage());

モデルを返します。

// ViewName、ユーザー Bean、MSG Bean

// 春のドキュメント

パブリック インターフェイス コントローラ {

/**
 * Process the request and return a ModelAndView object which the DispatcherServlet
 * will render.
 */
ModelAndView handleRequest(
    HttpServletRequest request,
    HttpServletResponse response) throws Exception;

}

于 2012-04-11T14:15:05.967 に答える