Thymeleafでフォームの値を表示する方法

spring

入力フォームの値をThymeleafで表示する方法を紹介していきます。

今回は個人的によく使う3種類の表示方法の紹介です。

[スポンサーリンク]

もくじ

フォームの値
変数式
選択変数式
インライン処理

フォームの値

今回使用するフォームの値はコチラです。事前に作成しておきます。

public class User {
    private String name;
    private int age;
    // setter/getterは省略します。
    .
    .
    .
}

そして擬似的に値を@ModelAttributeを使ってセットしておきます。(入力フォームの受取の変わりですね。)

@ModelAttribute("user")
public User getUser() {
    User user = new User();
    user.setName("taro");
    user.setAge(20);
    return user;
}

さて、これで準備はOKです。

さっそくThymeleafでここにセットした値を表示する方法にいきましょう。

変数式

まず最初はThymeleafを使っている人には一番馴染みのある書き方です。
オブジェクト名.フィールド名を${}でくくって表示する方法です。

<p th:text="${user.name}"></p>

選択変数式

先程の変数式では、毎回オブジェクト名のuserをかかなくてもなりません。

それでは少しめんどくさいので、オブジェクト名を省略できるパターンです。

th:objectでかこったブロックは、ユーザ名のかわりに*を指定することができます。

<div th:object="${user}">
  <p th:text="*{name}"></p>
  <p th:text="*{age}"></p>
</div>

インライン処理

そして最後は、th:textを使わずにフォームの値を表示する方法です。

th:inlineでかこったブロックは、[[]]を使ってth:textを使わずにフォーム値を表示することができます。

<div th:inline="text">
  <p>[[${user.name}]]</p>
</div>

さいごに

以上3つの方法がThymeleafを使っていくうえで、フォーム値を表示するさいによく使われる方法です。

どんな方法でもフォームの値を表示させることができるように、以上3つの方法はおさえておきましょう!

それでは!