Spring MVC 4.1 No. 041 form:optionタグ
form:optionタグは、HTMLの<option>タグを生成します。このタグは、form:selectタグの中に書く必要があります。
その要素の内、単純にHTMLの属性に置き換えられるものは、以下の属性です。cssClassやcssStyleはそれぞれclass、style属性に置き換えられます。
属性 | 説明 |
---|---|
cssClass | HTML標準のclass属性 |
cssStyle | HTML標準のsytle属性 |
dir | HTML標準のdir属性 |
disabled | HTML標準のdisabled属性 |
id | HTML標準のid属性 |
lang | HTML標準のlang属性 |
tabindex | HTML標準のtabindex |
title | HTML標準のtitle属性 |
value | HTML標準のvalue属性 |
その他、JavaScriptのDOMレベル0イベントとして以下の属性が用意されています。それぞれ同名の属性になります。
属性 |
---|
onblur |
onchange |
onclick |
ondblclick |
onfocus |
onkeydown |
onkeypress |
onkeyup |
onmousedown |
onmousemove |
onmouseout |
onmouseover |
onmouseup |
残りがSpring用の属性になります。
属性 | 説明 |
---|---|
cssErrorClass | Validationのエラー時のclass属性 |
htmlEscape | HTMLのエスケープをするかどうか。デフォルトはtrue |
label | HTMLのlabel要素を作成し、チェックボックスと関連付ける |
コントローラで使用するモデルです。
package com.example.spring.controller.c041; public class C041Model { private String selectedIsbn; public String getSelectedIsbn() { return selectedIsbn; } public void setSelectedIsbn(String selectedIsbn) { this.selectedIsbn = selectedIsbn; } }
サンプルのコントローラです。
package com.example.spring.controller.c041; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/c041") public class C041Controller { @RequestMapping("/option") public String option(Model model) { C041Model c041Model = new C041Model(); c041Model.setSelectedIsbn(""); model.addAttribute("c041Model", c041Model); return "c041/option"; } }
コントローラではformで利用する値をModelに格納しています。
カスタムタグを使用しているJSPです。
<%@page contentType="text/html; charset=utf-8" %><%-- --%><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> <form:select path="c041Model.selectedIsbn"> <form:option value="123" label="よく分かるSpring"/> <form:option value="456" label="よく分かるJava"/> <form:option value="789" label="よく分かるSpring MVC"/> </form:select> </body> </html>
実際に動作させ、出力されるHTMLは以下のようになります(見やすくするために改行を入れています)。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> <select id="selectedIsbn" name="selectedIsbn"> <option value="123">よく分かるSpring</option> <option value="456">よく分かるJava</option> <option value="789">よく分かるSpring MVC</option> </select> </body> </html>
ソースは https://github.com/kuwalab/spring-mvc41 にあります。タグ041が今回のサンプルです。
まとめ http://kuwalab.hatenablog.jp/entry/spring
最初 http://kuwalab.hatenablog.jp/entry/spring_mvc41/001
前回 http://kuwalab.hatenablog.jp/entry/spring_mvc41/040
次回 http://kuwalab.hatenablog.jp/entry/spring_mvc41/042