Spring MVCのModelを使用する方法

Spring MVCでは、Modelはデータをカプセル化してビューに渡すインターフェースです。

  1. コントローラのメソッドパラメータにModelパラメータを宣言すれば、Spring MVCがModelインスタンスをそのパラメータに自動的に渡します。
@RequestMapping("/example")
public String example(Model model) {
    model.addAttribute("message", "Hello World!");
    return "example";
}

上記の例では、addAttributeメソッドを呼び出して「message」という名前のプロパティをモデルに追加し、その値を「Hello World! 」に設定します。その後、ビュー名「example」を返して、Spring MVCが使用すべきビューを通知します。

  1. @ModelAttribute アノテーションを使用する: @ModelAttribute アノテーションは、メソッドパラメーターまたはメソッドに使用でき、属性を Model に追加します。
@ModelAttribute("message")
public String message() {
    return "Hello World!";
}

@RequestMapping("/example")
public String example() {
    return "example";
}

上記の例では、メソッドに @ModelAttribute アノテーションを使用し、属性名として “message” を指定することで、”Hello World!” という値を Model に追加しています。そして、ビュー上で “#{message}” を使用することでその属性の値を表示しています。

  1. ModelとViewの情報を保持するクラスで、コントローラのメソッド内からModelAndViewオブジェクトを作成し、属性やビュー名を設定できます。
@RequestMapping("/example")
public ModelAndView example() {
    ModelAndView modelAndView = new ModelAndView("example");
    modelAndView.addObject("message", "Hello World!");
    return modelAndView;
}

上記の例では、ModelAndViewオブジェクトを作成し、addObjectメソッドを呼び出すことで「message」という属性をModelに追加しています。そして、ビュー名を「example」に設定することで、Spring MVCが使用するビューを指示しています。

いずれの方法を使用しても最終的にはモデル内の属性をビューに渡すことになり、ビューではEL式やJSTLタグを利用してそれらの属性の値にアクセスして表示できます。

bannerAds