2014-10-17 3 views
0

Я создаю веб-приложение в Spring MVC с использованием возможностей Spring. Когда я отправляю форму jsp, я получаю данные как массив String из нескольких блоков выбора на контроллере, а затем сохраняет в базе данных. Когда пользователь редактирует записи, как я могу отобразить выбранные элементы в нескольких блоках выбора.Spring MVC multiple selection using backend bean

Эта карта используется для заполнения нескольких полей выбора.

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

ответ

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" /> 
+0

Спасибо @Shoaib за быстрый ответ, это не показывает выбранные элементы. – AKV