ModelAndViewとModelの違いについて解説します

java

本記事をご覧になれば、ModelAndViewModelの違いを理解することができます。

結論

  • 「mav.setViewName(XXX);」の有無
  • returnの値

のみです。

サンプルコード

model.addAttributemav.addObjectはどちらもmessage変数に文字列を設定しているため、違いがありません。

「mav.setViewName(XXX);」の有無

ModelAndViewでは、テンプレート名を設定しています。

returnの値

modelでは、テンプレート名を返しています。
ModelAndViewでは、mavオブジェクトを返しています。

コピペ用

	@RequestMapping(value = "/model")
	public String index1(Model model) {

		model.addAttribute("message", "Hello World model");
		return "index";
	}

	@RequestMapping(value = "/mav")
	public ModelAndView index2(ModelAndView mav) {

		mav.addObject("message", "Hello World mav");
		mav.setViewName("index");
		return ;
	}

コメント

タイトルとURLをコピーしました