ThymeleafでEnumの値を取得

ThymeleafでEnumの値を取得

ThymeleafでEnumの値を取得するには、Enumの値をビューに渡し、Thymeleafテンプレート内でその値を参照する必要があります。
以下は、ThymeleafでEnumの値を取得するための実装例です。

まず、Enumを定義します。

public enum Status {
  ACTIVE("Active"),
  INACTIVE("Inactive"),
  PENDING("Pending");

  private final String displayName;

  Status(String displayName) {
    this.displayName = displayName;
  }

  public String getDisplayName() {
    return displayName;
  }
}

次に、コントローラーでEnumの値をモデルに追加します。

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

@Controller
public class StatusController {

  @GetMapping("/status")
  public String getStatus(Model model) {
    model.addAttribute("statuses", Status.values());
    return "status";
  }
}

最後に、ThymeleafテンプレートでEnumの値を表示します。

<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
  <title>Enum Example</title>
</head>
<body>
  <h1>ステータス一覧</h1>
  <ul>
    <li th:each="status : ${statuses}">
      <span th:text="${status.displayName}">ステータス名</span>
    </li>
  </ul>
</body>
</html>

この例では、Enum Status の値を取得し、Thymeleafテンプレート内で表示しています。
Status.values() でEnumの全ての値を取得し、それをモデルに追加して、テンプレート内でループ処理を行いながら表示しています。