Thymeleafでdisabledを適用させる方法

Thymeleafでdisabledを適用させる方法

Thymeleafでdisabled属性を適用させる方法については、以下のように実装します。
ここでは、フォームの入力要素に対してdisabled属性を適用する方法を示します。

1. Thymeleafテンプレート

Thymeleafテンプレートファイルで、disabled属性を条件に応じて適用します。
例えば、変数isDisabledがtrueの場合にdisabled属性を追加するには、以下のようにします。

<input type="text" name="exampleInput"
       th:field="${exampleInput}"
       th:attr="disabled=${isDisabled ? 'disabled' : null}" />

2. コントローラ

コントローラで、isDisabled変数を設定してモデルに追加します。

@Controller
public class ExampleController {

    @GetMapping("/form")
    public String showForm(Model model) {
        // フォームに必要なデータを設定
        model.addAttribute("exampleInput", new ExampleInput());
        model.addAttribute("isDisabled", true); // 条件に応じて設定
        return "form";
    }

    @PostMapping("/submit")
    public String submitForm(@ModelAttribute ExampleInput exampleInput) {
        // フォームの処理
        return "redirect:/form";
    }
}

3. Formクラス

フォームのデータを保持するクラス(例:ExampleInput)は以下のように定義します。

public class ExampleInput {
    private String value;

    // ゲッターとセッター
    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }
}

これで、isDisabledがtrueの場合にinput要素にdisabled属性が追加され、falseの場合には属性が追加されません。
disabled属性を動的に適用するために、Thymeleafの条件式を使っています。