HTMLタグの中でJavaの変数を使う
Spring BootでThymeleafを使う時、HTMLのタグの中に「th:〜」という書き方でJavaの変数を使うことができます。
例えば以下のようにすれば、
<input type="text" th:field="*{フィールド名}" />
inputタグのid、name、valueの全てを管理することができ、以下のHTMLタグが発行されます。
(valueは初期値なので空です)
<input type="text" id="フィールド名" name="フィールド名" value="" />
th:valueの落とし穴
ただ、場合によってはinputタグのvalueにDBから取得した値を入れたい時がありますよね。
そんな時はth:valueに値を入れればいいのですが、ここに落とし穴が。。。
th:fieldやth:nameに値を入れているとvalueの中が空になるのです。
なので、以下ではだめなのです。
<input type="text" th:field="*{フィールド名}" th:value="${変数名}" />
ちなみに以下もダメです。
<input type="text" th:name="*{フィールド名}" th:value="${変数名}" />
どうやって解決する?
th:valueに値を入れる時はth:nameではなく、nameに値を入れましょう。
<input type="text" name="フィールド名" th:value="${変数名}" />
こうすればnameにもvalueにも値が入ります。
はじめてのSpring Boot―スプリング・フレームワークで簡単Javaアプリ開発 (I・O BOOKS)
- 作者: 槙俊明
- 出版社/メーカー: 工学社
- 発売日: 2016/09/01
- メディア: 単行本
- この商品を含むブログ (1件) を見る
Spring Bootビギナーズガイド: Webアプリケーション開発を高速化せよ! PRIMERシリーズ (libroブックス)
- 作者: 掌田津耶乃
- 出版社/メーカー: Tuyano-Project
- 発売日: 2015/05/28
- メディア: Kindle版
- この商品を含むブログを見る
- 作者: Craig Walls
- 出版社/メーカー: Manning Publications
- 発売日: 2016/01/03
- メディア: ペーパーバック
- この商品を含むブログを見る