0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

thymeleafでoptionのvalueが0から始まる数値のときにゼロサプレスされてしまうときの対処法

Posted at

結論

th:value="'01'"というようにvalueをシングルクォートでくくると、先頭のゼロが取れずにそのままの値がHTMLに反映されます。

事象

例えば以下のようなコードをthymeleafで書きます。
意図した挙動としてはvalueが01など先頭に0がついた状態なのですが…

<select th:field="*{select001}" th:id="select001" name="select001">
	<option th:value="01">01</option>
	<option th:value="02">02</option>
	<option th:value="03">03</option>
	<option th:value="04">04</option>
</select>

出力されたHTMLではvalueの先頭のゼロが取れてしまっています。

<select  name="select001" id="select001">
	<option value="1">01</option>
	<option value="2">02</option>
	<option value="3">03</option>
	<option value="4">04</option>
</select>

対処法

結論に書いたようにvalueをシングルクォートでくくります。
先ほどの例を修正すると下記のようになります。

<select th:field="*{select001}" th:id="select001" name="select001">
	<option th:value="'01'">01</option>
	<option th:value="'02'">02</option>
	<option th:value="'03'">03</option>
	<option th:value="'04'">04</option>
</select>
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?