質問: Springでシステム開発を行っています。 ですが、Springが習いたてで、Spring特融のアノテーションが読めません。 1.@SessionAttributeと@ModelAttributeの違い 2.@requestparamをメソッドに書いたときのjspとコントローラ間の処理の流れ を教えていただけないでしょうか。 ググっても、なかなか理解できません。よろしくお願いします。
回答: `@ModelAttribute`と比較されており、`@SessionAttribute`は`@SessionAttributes`の誤字だと思いますので、 `@ModelAttribute`と`@SessionAttributes`、`@RequestParam`をざっくり説明します。 * @SessionAttributes セッション(HttpSession)上でデータを保持したい時に使う。 POJOのインスタンス生成とHttpSession.setAttributeを一緒にやってくれる。 * @ModelAttribute Formでsubmitした時に画面からリクエストで受け取った値をPOJOに格納する時に使う。 * RequestParam Formでsubmitした時に画面からリクエストで受け取った値を格納する時に使う。 画面から受け取る値が少ない時は@ReqeuestParamで受け取り、多くなると@ModelAttributeを使うとコードがすっきりする。 あと、@Validateなどを使ってリクエストで受け取った値のバリデーションを行いたい場合は、@ModelAttributeを使わないといけない。 ちなみに、Spring全般について、NTTデータ社が作成されている以下のドキュメントを読むと良いと思います。 http://terasolunaorg.github.io/guideline/5.2.0.RELEASE/ja/