タイトル: ビューから値をモデルに格納しコントローラーで受け取る方法
SEOタイトル: ビューから値をモデルに格納しコントローラーで受け取る方法
この本文には実行可能なタグ等が含まれるため、安全のためHTMLソースとして表示しています。本文データは変更していません。
<table border="1" cellpadding="1" cellspacing="1" style="width:1000px">
<thead>
<tr><th style="background-color:#f39c12;color:#ffffff;text-align:left">この記事の要点</th></tr>
</thead>
<tbody>
<tr>
<td style="background-color:#fef9e7">
<ul>
<li>Spring MVC の<strong>ビュー → モデル → コントローラ</strong>のデータフロー</li>
<li>ビュー (HTML): <code><form></code> の input 要素に name 属性 = モデルフィールド名</li>
<li>モデル: form クラス(POJO)の getter/setter で受け取る</li>
<li>コントローラ: メソッド引数に form クラスを宣言すると<strong>自動バインド</strong></li>
</ul>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p>本稿はSpring Frameworkにおいてビュー→モデル→コントローラーに値を渡す方法を説明します。</p>
<p> </p>
<h2>ビュー</h2>
<table border="1" cellpadding="1" cellspacing="1" style="width:1000px">
<tbody>
<tr>
<td style="background-color:#000000">
<p><span style="color:#ffffff"><</span><span style="color:#f1c40f">form</span><span style="color:#ffffff"> action="index" method="get"><br />
</span><span style="color:#f1c40f"> <input id="userId" type="text" name="userId"/></span><br />
<span style="color:#ffffff"> <button type="submit">ボタン</button><br />
</form></span></p>
</td>
</tr>
</tbody>
</table>
<p> </p>
<h2>モデル</h2>
<table border="1" cellpadding="1" cellspacing="1" style="width:1000px">
<tbody>
<tr>
<td style="background-color:#000000">
<p><span style="color:#ffffff">public class UserModel {</span></p>
<p><span style="color:#ffffff"> private String </span><span style="color:#f1c40f">userId</span><span style="color:#ffffff">;<br />
<br />
public String </span><span style="color:#f1c40f">getUserId</span><span style="color:#ffffff">() {<br />
return getUserId;<br />
}</span></p>
<p><span style="color:#ffffff"> public void </span><span style="color:#f1c40f">setUserId</span><span style="color:#ffffff">(String userId) {<br />
this.getUserId = getUserId;<br />
}<br />
}</span></p>
</td>
</tr>
</tbody>
</table>
<p> </p>
<h2>コントローラー</h2>
<table border="1" cellpadding="1" cellspacing="1" style="width:1000px">
<tbody>
<tr>
<td style="background-color:#000000">
<p><span style="color:#ffffff">@Controller<br />
public class IndexController {</span></p>
<p><span style="color:#f1c40f"> @ModelAttribute<br />
UserModel userModel() {<br />
return new UserModel();<br />
}</span><br />
<span style="color:#ffffff"> <br />
@RequestMapping(value = "/index", method = RequestMethod.GET)<br />
public void index(</span><span style="color:#f1c40f">@ModelAttribute UserModel userModel</span><span style="color:#ffffff">){</span></p>
<p><span style="color:#ffffff"> String userId = </span><span style="color:#f1c40f">userModel.getUserId</span><span style="color:#ffffff">();<br />
<br />
...<br />
<br />
}<br />
}</span></p>
</td>
</tr>
</tbody>
</table>
<p> </p>