Controller方法形参接收checkbox的值,既可以用String,也可以用String[]。

字符串数组接收的测试代码如下:

  1. @Controller
  2. @RequestMapping("/mycontroller")
  3. public class MyController {
  4.  
  5. @RequestMapping(method = RequestMethod.GET)
  6. public String form() {
  7. return "mycontroller";
  8. }
  9.  
  10. @RequestMapping(method = RequestMethod.POST)
  11. public String form1(@RequestParam("interest") String[] interest, Model model) {
  12. String a = Arrays.toString(interest);
  13. model.addAttribute("ins", a);
  14. return "ok";
  15. }
  16.  
  17. }

  测试页面如下:

/WEB-INF/jsp/mycontroller.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8"
  2. pageEncoding="UTF-8"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  4. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>请选择</title>
  9. </head>
  10. <body>
  11. <form action="${pageContext.request.contextPath }/mycontroller.action"
  12. method="post">
  13. <input type="checkbox" name="interest" value="a1" />a1<br />
  14. <input type="checkbox" name="interest" value="a2" />a2<br />
  15. <input type="checkbox" name="interest" value="a3" />a3<br />
  16. <input type="checkbox" name="interest" value="a4" />a4<br />
  17. <input type="checkbox" name="interest" value="a5" />a5<br />
  18.  
  19. <input type="submit"/>
  20. </form>
  21. </body>
  22.  
  23. </html>

  

结果显示页面如下:

/WEB-INF/jsp/ok.jsp

  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
  3. <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
  4. <html>
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  7. <title>操作成功</title>
  8. </head>
  9. <body>
  10.  
  11. 选择的内容是:${ins}<br/>
  12. </body>
  13.  
  14. </html>

  结果:

字符串接收的测试代码如下(测试完数组接收后 修改即可):

  1. @Controller
  2. @RequestMapping("/mycontroller")
  3. public class MyController {
  4.  
  5. @RequestMapping(method = RequestMethod.GET)
  6. public String form() {
  7. return "mycontroller";
  8. }
  9.  
  10. @RequestMapping(method = RequestMethod.POST)
  11. public String form1(@RequestParam("interest") String interest, Model model) {
  12. model.addAttribute("ins", interest);
  13.  
  14. return "ok";
  15. }
  16.  
  17. }

  结果是:

小知识:

  如果checkbox都留空(不选择),那么Controller会报错。解决办法:①前端js判断;②前端加一个hidden的checkbox。

补充方法:

  1. @RequestParam(value = "interest", required = false)

  

SpringMVC接收checkbox传值的更多相关文章

  1. SpringMVC接收前端传值有哪些方式?

    有很多种,比如: 1.通过@RequestParam注解接收请求参数: 2.通过Bean封装,接收多个请求参数 3.通过@ModelAttribute绑定接收前端表单数据 4.通过@PathVaria ...

  2. springmvc用model传值到jsp页面,el表达式引用接收不到传递过来的值

    springmvc用model传值到jsp页面,el表达式引用接收不到传递过来的值 查看下controller层代码可以发现,写的是没有错误的. @RequestMapping("list. ...

  3. springMVC 接收数组参数,mybatis 接收数组参数,mybatis批量插入/批量删除案例

    案例是给一个用户赋予多个权限,多个权限用其对应的主键 id 为参数,组成了 一个id数组,传给springMVC,然后springMVC传给mybatis,然后mybatis批量插入.其实类似的场景还 ...

  4. SpringMVC 接收复杂对象

    要发送的数据为:String topicId,String topicName,String summarize,List<ModuleParam> parentList 前端页面ajax ...

  5. Struts2接收checkbox的值

    Struts2接收checkbox的值:   HTML: <input type="checkbox" name="ssl" value="B1 ...

  6. SpringMVC接收页面表单参数-java-电脑编程网

    body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI ...

  7. ajax传数组到后台,后台springmvc接收数组参数

    var   ids= new Array();  $("input[class='detailCheck']:checked").each(function(i,k){   var ...

  8. SpringMVC接收复杂对象

    SpringMVC接收复杂对象 转载请注明地址:http://www.cnblogs.com/funnyzpc/p/7642977.html 本节内容暂放一边,我先扯点儿,心情好了,代码顺风顺水哈~ ...

  9. springmvc接收前台(如ajax)传来的数组list,set等图文详解

        ref:https://blog.csdn.net/wabiaozia/article/details/50803581 前言: 相信很人都被springmvc接收数组问题折磨过,查过几个解决 ...

随机推荐

  1. 找模式串[XDU1032]

    Problem 1032 - 找模式串 Time Limit: 1000MS   Memory Limit: 65536KB   Difficulty: Total Submit: 644  Acce ...

  2. BZOJ4310 : 跳蚤

    首先求出后缀数组,得到本质不同的子串的个数. 然后二分答案,每次先通过后缀数组求出第$mid$小的子串,然后贪心进行检验. 检验的时候,从后往前贪心,每次加入一个后缀,如果不能加了,那就划为一段. 时 ...

  3. Channel 笔记本项目 (门户客户端(介绍1) 和 wp7客户端)

  4. COJ1013 : WZJ的数据结构(十三)

    这道题有这样一个解法: 首先把边依次加到图中,若当前这条边与图中的边形成了环,那么把这个环中最早加进来的边弹出去并将每条边把哪条边弹了出去记录下来:ntr[i] = j,特别地,要是没有弹出边,ntr ...

  5. Uiautomator打包使用第三方库,报错的解决方案

    问题引源: 在做自动化过程中,想在用例执行完毕后,自动生成该用例测试报告: 报告定义为Excel格式文件,且在用例执行过程中生成. 所以我在Uiautomator工程中引用了jxl.jar,用以处理E ...

  6. C# params object[] args 可以传多个参数,可以不限制类型(转)

    C# params object[] args 可以传多个参数,可以不限制类型 using System;using System.Collections.Generic;using System.T ...

  7. iOS-TextField知多少

    iOS-TextField知多少 //初始化textfield并设置位置及大小 UITextField *text = [[UITextField alloc]initWithFrame:CGRect ...

  8. opengl中拾取操作的实现

    opengl采用一种比较复杂的方式来实现拾取操作,即选择模式.选择模式是一种绘制模式,它的基本思想是在一次拾取操作时,系统会根据拾取操作的参数(如鼠标位置)生成一个特定视景体,然后又系统重新绘制场景中 ...

  9. MongoDB高可用模式部署

    首先准备机器,我这里是在公司云平台创建了三台DB server,ip分别是10.199.144.84,10.199.144.89,10.199.144.90. 分别安装mongodb最新稳定版本: w ...

  10. Ubuntu 安装搜狗拼音及fcitx

    首先卸载原有ibus输入源: sudo apt-get remove ibus System Settings -> Software & Updates -> Other Sof ...