获取表单数据是Web应用程序中最常见的任务之一。SpringMVC在处理表单数据方面提供了许多便捷的方法,包括获取单选框和复选框的值。
获取单选框的值
客户端可以在多个单选按钮之间进行选择。一组单选按钮被视为一组,必须具有相同的名称。SpringMVC在控制器中提供了几种方法来获取选定的单选按钮值。下面是两条示例说明:
示例1:使用@RequestParam接收单选框的值
可以使用@RequestParam注解,将前端表单提交的单选框的值绑定到控制器方法的参数上,示例代码如下:
@RequestMapping("/radio")
public String getRadio(@RequestParam("radioBtn")String radioBtn,Model model){
model.addAttribute("result", "你选择的是:"+radioBtn);
return "result";
}
RequestParam注解中的参数"radioBtn"就是前端表单对应的字段名称,这里获取到的是单选框的value值。
示例2:使用ModelAttribute注解获取单选框的值
另一种方法是使用ModelAttribute注解,示例代码如下所示:
@ModelAttribute("radioBtn")
public String getRadio(){
return "defaultValue";
}
@RequestMapping("/radio")
public String getRadioValue(ModelMap model,@ModelAttribute("radioBtn")String radioBtn){
model.addAttribute("result","你选择的是 "+radioBtn);
return "result";
}
在这个例子中,使用ModelAttribute注解的getRadio()方法返回了默认的值defaultValue,然后getRadioValue()方法中可以通过ModelAttribute注解快速获取并使用默认值。
获取复选框的值
在SpringMVC中,复选框值的获取通常需要使用数组或者List类型的参数。SpringMVC会自动将前端表单提交的勾选框的值绑定到数组或者List类型的参数上。下面是两条示例说明:
示例1:使用@RequestParam接收复选框的值
通过使用@RequestParam注解,可以将前端表单提交的复选框的值绑定到控制器方法的参数中,示例代码如下所示:
@RequestMapping("/checkbox")
public String getCheckBox(@RequestParam(value="hobby", required=false) String[] hobby, Model model){
if(hobby != null){
model.addAttribute("result", "您选择的爱好是: " + Arrays.asList(hobby).toString());
}
else{
model.addAttribute("result", "您没有选择爱好.");
}
return "result";
}
@RequestParam注解中的参数"value"指定前端表单对应的字段名称,这里获取到的是勾选框中选中的所有value值。
示例2:使用ModelAttribute注解获取复选框的值
使用ModelAttribute注解同样可以获取前端表单提交的复选框中勾选的值,示例代码如下所示:
@ModelAttribute("hobbies")
public List<String> getHobbies(){
List<String> hobbies = new ArrayList<String>();
hobbies.add("篮球");
hobbies.add("足球");
hobbies.add("羽毛球");
hobbies.add("游泳");
return hobbies;
}
@RequestMapping("/checkbox")
public String getCheckBoxValue(Model model,@RequestParam(value="selectedHobbies",required=false) List<String> selectedHobbies){
if(selectedHobbies != null){
model.addAttribute("result","你选择的爱好是:"+selectedHobbies.toString());
}else{
model.addAttribute("result","您未选择任何爱好");
}
return "result";
}
在这个例子中,使用ModelAttribute注解的getHobies()方法返回了所有可选爱好的List对象,然后获取已选择的复选框的值时,使用@RequestParam注解并指定参数值为"selectedHobbies",即可获取到所有勾选框中被选中的值。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringMVC如何获取表单数据(radio和checkbox) - Python技术站