SpringMVC接收checkbox传值
Controller方法形参接收checkbox的值,既可以用String,也可以用String[]。
字符串数组接收的测试代码如下:
@Controller @RequestMapping("/mycontroller") public class MyController { @RequestMapping(method = RequestMethod.GET) public String form() { return "mycontroller"; } @RequestMapping(method = RequestMethod.POST) public String form1(@RequestParam("interest") String[] interest, Model model) { String a = Arrays.toString(interest); model.addAttribute("ins", a); return "ok"; } }
测试页面如下:
/WEB-INF/jsp/mycontroller.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>请选择</title> </head> <body> <form action="${pageContext.request.contextPath }/mycontroller.action" method="post"> <input type="checkbox" name="interest" value="a1" />a1<br /> <input type="checkbox" name="interest" value="a2" />a2<br /> <input type="checkbox" name="interest" value="a3" />a3<br /> <input type="checkbox" name="interest" value="a4" />a4<br /> <input type="checkbox" name="interest" value="a5" />a5<br /> <input type="submit"/> </form> </body> </html>
结果显示页面如下:
/WEB-INF/jsp/ok.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>操作成功</title> </head> <body> 选择的内容是:${ins}<br/> </body> </html>
结果:
字符串接收的测试代码如下(测试完数组接收后 修改即可):
@Controller
@RequestMapping("/mycontroller")
public class MyController {
@RequestMapping(method = RequestMethod.GET)
public String form() {
return "mycontroller";
}
@RequestMapping(method = RequestMethod.POST)
public String form1(@RequestParam("interest") String interest, Model model) {
model.addAttribute("ins", interest);
return "ok";
}
}
结果是:
小知识:
如果checkbox都留空(不选择),那么Controller会报错。解决办法:①前端js判断;②前端加一个hidden的checkbox。
补充方法:
@RequestParam(value = "interest", required = false)
posted on 2016-05-09 16:00 LarryZeal 阅读(26075) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通