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の条件式を使っています。