JavaのWebアプリケーション開発フレームワークによる、Webサイト開発の顛末記です。

EclipseのMavenを使った、Spring-MVC、Thymeleaf、MyBatis 等のプログラミングテクニックを、
備忘録的に記録しています。実際に動くソースコードを多用して説明していますので、
これからEclipseや、Spring-MVCを始めたいと思っている人にとって、少しでも参考になれば幸いです。
■Thymeleaf の小径
2-2)<input type="password"/>属性使用時の注意点
Thymeleafでフォーム要素 <input>タグ を使う場合、通常は、
<input type="text" th:field="${変数名}"/>
の様に指定すると、inputタグの name属性が変数名となり、
テキストボックスの内容に、データモデルから取得した${変数名}"が表示されます。

これを password属性で指定すると、
<input type="password" th:field="${変数名}"/>
となり、画面上の入力フィールドは確かにマスキングされた文字列が表示されています。
ところがこれをsubmitして、サーバー側で値を参照してみると、空白となってしまいました。
JavaScriptで、submit直前のpasswordの中身をデバッグしてみると、この時点で空白になっています。
password属性は、上の指定ではうまく初期値がセットされないみたいです。
色々と試行錯誤した結果、
<input type="password" id="変数名" name="変数名" th:value="${変数名}"/>
のように、th:fieldではなく、th:value で指定することで初期値がセットされました。
ただし、name属性は手動でセットする必要があります。