この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:2
ページ更新者:guest
更新日時:2026-05-15 03:52:15

タイトル: ModelとModelAndViewの違い

この記事の要点
  • Spring Web MVC の ModelModelAndView の違い
  • Model: View に渡すデータだけを保持。遷移先 View 名はメソッドの戻り値 (String) で返す
  • ModelAndView: データ + View 名を 1 オブジェクトに詰めて返す
  • 最近のプロジェクトは Model + 戻り値 String が主流(コード量が少ない)

 

本稿はSpring FrameworkにおけるModelとModelAndViewの違いを記述します。

 

基本的にはModelはリクエストでデータを受け取るのみ。

ModelAndViewはそれに加えて自身を戻り値(View)として返します。

以下、具体例による違いを比較します。

 

Modelを使用した例

@Controller

public class TestController {

@RequestMapping("/")

public String index(Model model) {

String message = "Hello!?";

model.addAttribute("message", message);

return "/test/index";

}

}

 

ModelAndViewを使用した例

@Controller

public class TestController {

@RequestMapping("/")

public ModelAndView index(ModelAndView mav) {

String message = "Hello!";

mav.addObject("message", message);

mav.setViewName("/test/index");

return mav;

}

}