Spring MVC 4.1 No. 034 form:passwordタグ
form:passwordタグは、HTMLの<input type="password">タグを生成します。
指定できる属性はshowPassword以外はform:inputと同じです。
その要素の内、単純にHTMLの属性に置き換えられるものは、以下の属性です。cssClassやcssStyleはそれぞれclass、style属性に置き換えられます。
属性 | 説明 |
---|---|
accesskey | HTML標準のaccesskey属性 |
alt | HTML標準のalt属性 |
autocomplete | HTML標準のautocomplete属性 |
cssClass | HTML標準のclass属性 |
cssStyle | HTML標準のsytle属性 |
dir | HTML標準のdir属性 |
disabled | HTML標準のdisabled属性 |
id | HTML標準のid属性 |
lang | HTML標準のlang属性 |
maxlength | HTML標準のmaxlength属性 |
readonly | HTML標準のreadonly属性 |
size | HTML標準のsize属性 |
tabindex | HTML標準のtabindex |
title | HTML標準のtitle属性 |
その他、JavaScriptのDOMレベル0イベントとして以下の属性が用意されています。それぞれ同名の属性になります。
属性 |
---|
onblur |
onchange |
onclick |
ondblclick |
onfocus |
onkeydown |
onkeypress |
onkeyup |
onmousedown |
onmousemove |
onmouseout |
onmouseover |
onmouseup |
onselect |
残りがSpring用の属性になります。
属性 | 説明 |
---|---|
cssErrorClass | Validationのエラー時のclass属性 |
htmlEscape | HTMLのエスケープをするかどうか。デフォルトはtrue |
path | 関連付けるModelの名前 |
showPassword | パスワードを表示(value属性に出力)するか |
コントローラで使う、Modelです。パスワードのみを格納します。
package com.example.spring.controller.c034; public class C034Model { private String password; public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }
サンプルのコントローラです。
package com.example.spring.controller.c034; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; @Controller @RequestMapping("/c034") public class C034Controller { @RequestMapping("/password") public String password(Model model) { C034Model c034Model = new C034Model(); ; c034Model.setPassword("password"); model.addAttribute("c034Model", c034Model); return "c034/password"; } }
コントローラではformで利用する値をModelに格納しています。
カスタムタグを使用しているJSPです。
<%@page contentType="text/html; charset=utf-8" %><%-- --%><!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプル</title> </head> <body> password: <form:password path="c034Model.password" /><br> showPassword=true: <form:password path="c034Model.password" showPassword="true" /><br> </body> </html>
showPasswordを設定しない場合にはpath属性の値は出力されません。逆にshowPasswordをtrueにするとvalueに値が出力されます。
ソースは https://github.com/kuwalab/spring-mvc41 にあります。タグ034が今回のサンプルです。
まとめ http://kuwalab.hatenablog.jp/entry/spring
最初 http://kuwalab.hatenablog.jp/entry/spring_mvc41/001
前回 http://kuwalab.hatenablog.jp/entry/spring_mvc41/033
次回 http://kuwalab.hatenablog.jp/entry/spring_mvc41/035