Spring MVC form:radiobuttonsタグを使うサンプルコード

環境
Spring 5.2.22
Eclipse 4.24.0

操作方法
1.画面表示用モデルを作成します(RadiobuttonsModel.java)

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
public class RadiobuttonsModel {
private String selectedCity;
}
public class RadiobuttonsModel { private String selectedCity; }
public class RadiobuttonsModel {
    private String selectedCity;
}

2.コントローラは以下のようになります。ここではradiobuttonの初期値を「303」にしています。

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
@Controller
public class FormController {
@RequestMapping(value = "/radiobuttons", method = RequestMethod.GET)
public String Radiobuttons(Model model) {
List<City> cft = new ArrayList<>();
// リストの要素を追加
cft.add(new City("101", "東京"));
cft.add(new City("202", "大阪"));
cft.add(new City("303", "福岡"));
//モデルのオブジェクトのインスタンスの生成
RadiobuttonsModel rbm = new RadiobuttonsModel();
rbm.setSelectedCity("303");
model.addAttribute("radiobuttonsModel", rbm);
model.addAttribute("cft", cft);
return "radiobuttons";
}
}
@Controller public class FormController { @RequestMapping(value = "/radiobuttons", method = RequestMethod.GET) public String Radiobuttons(Model model) { List<City> cft = new ArrayList<>(); // リストの要素を追加 cft.add(new City("101", "東京")); cft.add(new City("202", "大阪")); cft.add(new City("303", "福岡")); //モデルのオブジェクトのインスタンスの生成 RadiobuttonsModel rbm = new RadiobuttonsModel(); rbm.setSelectedCity("303"); model.addAttribute("radiobuttonsModel", rbm); model.addAttribute("cft", cft); return "radiobuttons"; } }
@Controller
public class FormController {
    @RequestMapping(value = "/radiobuttons", method = RequestMethod.GET)
    public String Radiobuttons(Model model) {
        List<City> cft = new ArrayList<>();
         // リストの要素を追加
        cft.add(new City("101", "東京"));
        cft.add(new City("202", "大阪"));
        cft.add(new City("303", "福岡"));
            
            //モデルのオブジェクトのインスタンスの生成
        RadiobuttonsModel rbm = new RadiobuttonsModel();
        rbm.setSelectedCity("303");
        model.addAttribute("radiobuttonsModel", rbm);
        model.addAttribute("cft", cft);

        return "radiobuttons";
    }
}

3.JSP画面
書式

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
form:radiobuttons path="フィールド名" items="${リスト名または配列名}" itemLabel="都市名" itemValue="クラスのプロパティ名" delimiter="区切文字"
form:radiobuttons path="フィールド名" items="${リスト名または配列名}" itemLabel="都市名" itemValue="クラスのプロパティ名" delimiter="区切文字"
form:radiobuttons path="フィールド名" items="${リスト名または配列名}" itemLabel="都市名" itemValue="クラスのプロパティ名" delimiter="区切文字"

path
form:formで指定したmodelAttributeの中のフィールドのうち、この要素に割り当てるフィールドの名称
items
radiobuttonsを作るための配列やMap
itemValue
valueを出力するitemsで指定したクラスのプロパティ名
delimiter
radiobuttons間の区切り文字。デフォルトはなし

サンプルコード

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<form:form modelAttribute="radiobuttonsModel">
<form:radiobuttons path="selectedCity" items="${cft}" itemLabel="都市名" itemValue="city" delimiter="&nbsp;" />
</form:form>
<form:form modelAttribute="radiobuttonsModel"> <form:radiobuttons path="selectedCity" items="${cft}" itemLabel="都市名" itemValue="city" delimiter="&nbsp;" /> </form:form>
<form:form modelAttribute="radiobuttonsModel">
 <form:radiobuttons path="selectedCity" items="${cft}" itemLabel="都市名" itemValue="city" delimiter="&nbsp;" />
</form:form>

 

SpringMVC

Posted by arkgame