Spring MVCで@Controllerアノテーションを使って画面を表示してみる。
前回の記事からの続きです。
@Controllerと@RequestMappingの使い方の実際のサンプルを見てみます。
まずはフォルダ構成からです。
web.xml,Friend.java, FriendForm.javaは以下の記事のものと同じなので、こちらを参照してください。
前の記事
mvc-config.xmlというSpringの設定ファイルに
<context:component-scan base-package="sample2.controller"/>
を書きます。
これで、コントローラを置くパッケージを指定します。
指定したパッケージとそのサブパッケージがスキャン対象になります。
で、コントローラを記述するクラスはこちら。
package sample2.controller; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import sample1.domain.Friend; import sample1.form.FriendForm; @Controller public class FriendController { private static final Log logger = LogFactory.getLog(FriendController.class); @RequestMapping(value="/friend_input") public String inputFriend() { logger.info("inputFriend called"); return "/jsp/FriendForm"; } @RequestMapping(value="/friend_save") public String saveFriend(FriendForm friendForm, Model model) { logger.info("saveFriend called"); Friend friend = new Friend(); friend.setName(friendForm.getName()); friend.setAge(friendForm.getAge()); friend.setInterest(friendForm.getInterest()); model.addAttribute("friend", friend); return "/jsp/FriendDetails"; } }
http://localhost:8080/spring-web/friend_input
にリクエストを飛ばすと、こんな画面が出てきます。
「友人を追加する」ボタンを押すと、詳細画面に飛ばすこともできます。
jspなどは上のリンクの記事を見てください。
- 作者: Paul Deck
- 出版社/メーカー: Brainysoftware.Com
- 発売日: 2014/05/15
- メディア: ペーパーバック
- この商品を含むブログを見る