在本讲中,我们会学习SpringMVC中的高级参数绑定以及@RequestMapping注解的使用。温馨提示,本讲所有案例代码的编写均建立在前文《SpringMVC快速入门第五讲——SpringMVC的参数绑定》的案例基础之上,因此希望读者能仔细阅读这篇文章。
高级参数绑定
现在进入到SpringMVC中高级参数绑定的学习中。
绑定数组
现有这样一个需求:在商品列表页面选中多个商品,然后删除之(也即批量删除)。要解决该需求,就要求商品列表页面中的每个商品前都应有一个checkbook(复选框),选中多个商品后点击删除按钮把商品id传递给Controller,再根据商品id批量删除商品信息。于是,首先要将itemList.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"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>查询商品列表</title>
</head>
<body>
<form action="${pageContext.request.contextPath }/queryItem.action" method="post">
查询条件:
<table width="100%" border=1>
<tr>
<td>商品名称:<input type="text" name="item.name" /></td>
<td>商品价格:<input type="text" name="item.price" /></td>
</tr>
<tr>
<td><input type="submit" value="查询"/></td>
</tr>
</table>
商品列表:
<table width="100%" border=1>
<tr>
<td>选择</td>
<td>商品名称</td>
<td>商品价格</td>
<td>生产日期</td>
<td>商品描述</td>
<td>操作</td>
</tr>
<c:forEach items="${itemList }" var="item" varStatus="status">
<tr>
<td><input type="checkbox" name="ids" value="${item.id}" /></td>