Thymeleafでswitchを使用した実装
Thymeleafでswitch文を使いたい場合、Thymeleaf自体にはswitch文に相当する機能は組み込まれていませんが、th:switchとth:caseを使って同様の効果を実現できます。
以下はその使い方の例です。
例: switch文の実装
HTMLテンプレート (Thymeleaf)
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Thymeleaf Switch Example</title> </head> <body> <div th:switch="${status}"> <p th:case="'SUCCESS'">処理が成功しました。</p> <p th:case="'ERROR'">エラーが発生しました。</p> <p th:case="'PENDING'">処理中です。</p> <p th:case="*">ステータスが不明です。</p> </div> </body> </html>
コントローラ
@Controller public class ExampleController { @GetMapping("/status") public String getStatus(Model model) { // ステータスをモデルに追加 model.addAttribute("status", "SUCCESS"); // ここで「SUCCESS」、「ERROR」、「PENDING」のいずれかを設定する return "status"; // Thymeleafテンプレート名 } }
説明
- th:switchはswitch文のように、指定した変数(この例では${status})に基づいて異なるケースを処理します。
- th:caseは、それぞれのケースに対応する条件を指定します。
- th:case="*"は、どのケースにも一致しない場合のデフォルトの処理を指定します。
この方法で、Thymeleafテンプレート内で条件分岐を柔軟に扱うことができます。