Thymeleafでclassを動的に追加する方法

Thymeleafでclassを動的に追加する方法

Thymeleafでクラスを動的に追加するには、th:classappend属性を使います。
これにより、条件に応じてクラスを追加できます。

以下に基本的な使い方の例を示します。

例: 条件に応じてクラスを追加する

HTMLテンプレート (Thymeleaf)
<body>
  <div th:classappend="${isActive} ? 'active' : ''">
    この<div>は動的にクラスが追加されます。
  </div>
</body>
コントローラ (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) {
    // 動的にクラスを追加する条件
    boolean isActive = true; // ここは実際の条件に基づく値に置き換えてください
    model.addAttribute("isActive", isActive);
    return "example"; // テンプレート名
  }
}

説明

  • th:classappend属性を使うと、条件に応じてクラスを追加できます。
  • ${isActive} ? 'active' : '' の部分は、isActiveがtrueの場合に'active'クラスを追加し、falseの場合には何も追加しません。
  • コントローラでmodel.addAttribute("isActive", isActive);を使って、テンプレートに条件を渡します。

この方法を使うと、HTMLテンプレート内で動的にクラスを制御できます。