Thymeleafでth:blockを使用した実装

Thymeleafでth:blockを使用した実装

th:blockはThymeleafのテンプレートエンジンで、要素をグループ化して処理するために使います。
通常はHTMLの構造を変えることなく、条件付きで要素を表示したり、変数を設定したりする際に便利です。

以下に、th:blockを使用した基本的な実装例を示します。

例: th:blockを使って条件付きで要素を表示する

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <title>th:blockの例</title>
</head>
<body>
  <div>
    <!-- 条件に応じて要素を表示 -->
    <th:block th:if="${showContent}">
      <p th:text="${message}">メッセージがここに表示されます</p>
    </th:block>
    
    <!-- 条件に応じて要素を非表示 -->
    <th:block th:unless="${showContent}">
      <p>コンテンツは表示されません。</p>
    </th:block>
  </div>
</body>
</html>

コントローラのコード (SpringBootの場合)

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class ExampleController {

  @GetMapping("/example")
  public String example(Model model) {
    model.addAttribute("showContent", true);  // または false
    model.addAttribute("message", "こんにちは、Thymeleaf!");
    return "example";  // Thymeleafテンプレートファイル名
  }
}

説明

  • th:blockタグは、条件が満たされる場合に内包する要素を表示します。

th:if属性を使うことで、条件に応じた表示を制御できます。

  • th:unless属性は、条件が満たされない場合に内包する要素を表示します。

この例では、showContentがtrueの場合にメッセージを表示し、falseの場合には別のメッセージを表示するようにしています。