springmvc 高级参数绑定-数组

---恢复内容开始---

需求:在页面中选中多个商品id,对其进行批量删除

如下只列出jsp代码,是包装类型(QueryVo)的参数绑定

<form action="${pageContext.request.contextPath }/指定路径" method="post">

查询条件:

<table width="100%" border=1>

<tr>

<td>商品id<input type="text" name="item.id" /></td>

<td>商品名称<input type="text" name="item.name" /></td>

<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">

<tr>

<!-- 在此处加入checkbox 供用户勾选,再用el表达式获取属性id-->

<td><input type="checkbox" name="ids" value="${item.id}"/></td>

<td>${item.name }</td>

<td>${item.price }</td>

<td><fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/></td>

<td>${item.detail }</td>

<td><a href="${pageContext.request.contextPath }/itemEdit.action?id=${item.id}">修改</a></td>

</tr>

</c:forEach>

</table>

</form>

 

QueryVo 对象:

public class QueryVo{

  //实体类对象

  private Item item;

  //用数组接收jsp页面选中的checkbox,属性名要和name的值相同

  private Integer[] ids;

  //此处省略getXxx/setXxx方法

}

Conteoller层代码:

  //修改方法

@RequestMapping("query")

public String updateQuery(QueryVo queryVo,Integer[] ids){

  

System.out.println(queryVo.getItem().getId());

System.out.println(queryVo.getItem().getName());

 

System.out.println(queryVo.getIds().length);

System.out.println(ids.length);

 

return "success";

}

posted @ 2018-08-02 16:52  呼丿  阅读(399)  评论(0编辑  收藏  举报