2017-03-03 48 views
0

一般我们可以在控制器中得到JSP领域这样的贴值:如果一个字段是这是一个多重选择的元素出现如何获得选择倍数的值?

@Controller 
public class someClass { 

    @RequestMapping(value = "/someUrl", method = RequestMethod.POST) 
    public ModelAndView someMethodName(@RequestParam Map<String, String> params) { 

     for (Map.Entry<String, String> param : params.entrySet()) { 

      // field name is got from param.getKey() , field value is got from param.getValue() 

     } 

     return new ModelAndView("redirect:/someOtherUrl"); 

    } 

} 

的问题。那么如何获得从中选择的值?

回答

1

编辑:How to get multiple selected values from select box in JSP?有正确的答案。使用List<String>的映射来获得您的结果。

我会在这里留下,因为这是对的;-) 不要遍历条目,而是使用keySet。这些不会被设计重复。

即:

for (String key: params.keySet()) { 
    // field name key, field value is params.get(key) 
} 
+0

我总是得到即使我选择多个选项只有一个值! NB:我测试了select元素的'name'属性,并且没有'[]' – pheromix

+0

哦,我误解了。根据http://stackoverflow.com/questions/2407945/how-to-get-multiple-selected-values-from-select-box-in-jsp我会尝试使用地图或列表,而不是地图 rob

+0

你应该改变你的答案,因为你最后的评论提到的链接是正确的答案:) – pheromix