選択状態 ([checkboxOn/checkboxOff]) に応じて、チェック ボックスが表示されるかどうかが表示されるフォームがあります。チェックボックスが表示される場合、デフォルトでオンになっている必要があります。
それを考慮して、その状況をどのように処理するか
- 選択が「checkboxOff」状態の場合、MyFormObject.isCheckboxOn == false; になります。
- 選択が「checkboxOn」状態の場合、値は要求どおりにする必要がありますか?
これはすべて、検証エラーのポストバック、および新しいフォームが表示されたときと有効なフォームケースでも機能するはずです。
また、クライアント側で JavaScript を使用することは避けたいと思います。
拡張が必要なコードを次に示します。
class MyFormObject {
private String selectValue;
private boolean isCheckboxOn;
...
}
および 2 つの Spring コントローラーのメソッド:
@RequestMapping(method = RequestMethod.GET)
public ModelAndView showForm() {
return new ModelAndView('/form.jsp', 'command', new MyFormObject());
}
@RequestMapping(method = RequestMethod.POST)
public ModelAndView processSubmit(BindingResult result, MyFormObject command) {
if (result.hasErrors()) {
return new ModelAndView('/form', 'command', command);
}
...
return new ModelAndView('redirect:/success.jsp');
}