2.MVCに基づくプログラム作成
2-5 コントローラとビューの連携(ModelAndView)
①ModelとModelAndView
・2-4ではModelを使用しましたが、今回ModelAndViewを使用します。 Modelは戻り値を持たないため、ビューから値が返ってくる場合には、 ModelAndViewを使用します。
・DemoControllerを以下のように修正して、同じ結果になるのを確認しましょう。 なお、ModelAndViewを返すので、html名(ここではindex)をsetViewNameで指定します。
package com.example.demo; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.stereotype.Controller; import org.springframework.web.servlet.ModelAndView; @Controller public class DemoController { @RequestMapping("/{num}") public ModelAndView index(@PathVariable int num, ModelAndView mav) { int sum = 0; for(int i = 1 ; i <= num ; i++) { sum += i; } mav.addObject("msg", "sum=" + sum); mav.setViewName("index"); return mav; } }