使用后端bean的Spring MVC多选

时间:2014-10-17 06:51:59

标签: spring-mvc

我正在使用Spring表单功能在Spring MVC中创建一个Web应用程序。当我提交jsp表单时,我从控制器上的多个选择框获取数据作为String数组,然后存储在数据库中。当用户编辑记录时我怎么能在多个选择框中显示所选选项。

此地图用于填充多个选择框。

Map mp = new HashMap();
mp.put("111", "test1");
mp.put("112", "test2");
mp.put("113", "test3");
mp.put("114", "test4");
mv.addObject("cat", mp);

此地图是用户选择的选项列表,从db。

获取
Map selMap = new HashMap();
selMap.put("111", "test1");
selMap.put("114", "test4");
mv.addObject("selcat", selMap);

如何以相同的顺序显示在编辑页面上选择的test1和test4。 我需要这种格式的结果。 enter image description here

1 个答案:

答案 0 :(得分:0)

我将使用Spring注释给你一个例子: 这将作为表单的referenceData。

@ModelAttribute("cat")
public List<String> referenceData(){
    Map mp = new HashMap();
    mp.put("111", "test1");
    mp.put("112", "test2");
    mp.put("113", "test3");
    mp.put("114", "test4");

    return mp;
}

现在您可以选择多个下拉列表中的数据值

 @RequestMapping(method=RequestMethod.GET)
    public String showForm(ModelMap map){
        StudentCommand command =new StudentCommand();
        Map selMap = new HashMap();
        selMap.put("111", "test1");
        selMap.put("114", "test4");
        command.setCat(selMap);
        map.addAttribute("command", command);
        return "studentregistration";
    }

<强> JSP

<form:select multiple="true" path="cat" items="${cat}" itemLabel="cat" itemValue="something" />