これに関するいくつかの例と投稿を見つけましたが、完全な解決策や例を見つけることができませんでした。
列挙型を使用してラジオ ボタンの値を保持したい。
助けてください。
私は以下のような列挙型を持っています:
public enum MyEnum implements Serializable {
SUNDAY, MONDAY, TUESDAY
}
私は以下のように私のjspにフォームを持っています:
MyJSP.jsp
<form:form action="" method="post">
<input type="radio" id="id1" name="name1" value="value1" >
<input type="radio" id="id2" name="name2" value="value2" >
<input type="radio" id="id3" name="name3" value="value3" >
</form:form>
私は以下のようなモデルクラスを持っています:
MyModel.java
public class MyModel {
private String temp;
private MyEnum myEnum;
//getters and setters here
}
私は以下のようなコントローラを持っています:
MyController.java
@Controller
@SessionAttributes(MyModel)
public class MyController {
@ModelAttribute(MyModel)
public MyModel initMyModel(final HttpServletRequest httpRequest, final HttpSession session) {
MyModel myModel = new MyModel(.....);
//code goes here
return myModel;
}
@RequestMapping(value = , method = RequestMethod.GET)
public String initialViewMyModel(final HttpServletRequest httpRequest, final HttpSession session) {
return MyJsp;
}
@SuppressWarnings("boxing")
@RequestMapping(value = , method = RequestMethod.POST)
public String onSubmit(final @ModelAttribute(MyModel) MyModel myModel, final BindingResult bindingResult, final HttpServletRequest httpRequest, final ModelMap modelMap) {
HttpSession session = httpRequest.getSession();
//Here is the issue
MyEnum[] myEnum= myModel.getmyEnum(); //I want here to get the index or anything so that I could identify the selected radio button and use the switch case further but getting null here
switch (//----) {
case SUNDAY :
break;
case MONDAY :
break;
case TUESDAY :
break;
}
return "someotherJSP";
}
MyJsp.jsp のラジオ ボタンを列挙値にバインドして、選択したラジオ ボタンに基づいて列挙値を取得するにはどうすればよいですか?
シンプルなラジオボタンまたは spring:radio タグのいずれかが機能します。
助けてください !