绑定数组

需求

在商品列表页面选中多个商品,然后删除。

需求分析

此功能要求商品列表页面中的每个商品前有一个checkbook,选中多个商品后点击删除按钮把商品id传递给Controller,根据商品id删除商品信息。

Jsp中实现:

<c:forEach items="${itemList }" var="item">

<tr>

<td><input name="ids" value="${item.id}" type="checkbox"></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>

生成html代码如下:

页面选中多个checkbox向controller方法传递

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

<tr>

<td>商品名称</td>

<td>商品价格</td>

<td>生产日期</td>

<td>商品描述</td>

<td>操作</td>

</tr>

<tr>

<td><input name="ids" value="1" type="checkbox"></td>

<td>台式机</td>

<td>3000.0</td>

<td>2016-02-03 13:22:53</td>

<td></td>

<td><a href="/springmvc-web/itemEdit.action?id=1">修改</a></td>

</tr>

<tr>

<td><input name="ids" value="2" type="checkbox"></td>

<td>笔记本</td>

<td>6000.0</td>

<td>2015-02-09 13:22:57</td>

<td></td>

<td><a href="/springmvc-web/itemEdit.action?id=2">修改</a></td>

</tr>

<tr>

<td><input name="ids" value="3" type="checkbox"></td>

<td>背包</td>

<td>200.0</td>

<td>2015-02-06 13:23:02</td>

<td></td>

<td><a href="/springmvc-web/itemEdit.action?id=3">修改</a></td>

</tr>

</table>

Controller

Controller方法中可以用String[]接收,或者pojo的String[]属性接收。两种方式任选其一即可。

定义如下:

@RequestMapping("/queryitem")

public String queryItem(QueryVo queryVo, String[] ids) {

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

System.out.println(queryVo.getItems().getPrice());

System.out.println(ids.toString());

return null;

}

或者:

查看结果:

将表单的数据绑定到List

需求

实现商品数据的批量修改。

需求分析

要想实现商品数据的批量修改,需要在商品列表中可以对商品信息进行修改,并且可以批量提交修改后的商品数据。

接收商品列表的pojo

List中存放对象,并将定义的List放在包装类中,使用包装pojo对象接收。

Jsp改造

页面定义如下:

<tr>

<td>

<input type="text" name=" itemsList[0].id" value="${item.id}"/>

</td>

<td>

<input type="text" name=" itemsList[0].name" value="${item.name }"/>

</td>

<td>

<input type="text" name=" itemsList[0].price" value="${item.price}"/>

</td>

</tr>

<tr>

<td>

<input type="text" name=" itemsList[1].id" value="${item.id}"/>

</td>

<td>

<input type="text" name=" itemsList[1].name" value="${item.name }"/>

</td>

<td>

<input type="text" name=" itemsList[1].price" value="${item.price}"/>

</td>

</tr>

  

Name属性必须是包装pojo的list属性+下标+元素属性。Jsp做如下改造:

<c:forEach items="${itemList }" var="item">

<tr>

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

<td>

<input name="id" value="${item.id}" type="hidden">

<input name="name" value="${item.name }" type="text">

</td>

<td><input name="name" value="${item.price }" type="text"></td>

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

<td><input name="name" value="${item.detail }" type="text"></td>

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

</tr>

</c:forEach>

varStatus属性常用参数总结下:

${status.index}      输出行号,从0开始。

${status.count}      输出行号,从1开始。

${status.current}   当前这次迭代的(集合中的)项

${status.first}  判断当前项是否为集合中的第一项,返回值为true或false

${status.last}   判断当前项是否为集合中的最后一项,返回值为true或false

begin、end、step分别表示:起始序号,结束序号,跳跃步伐。

SpringMVC-高级参数绑定的更多相关文章

  1. (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解

    http://blog.csdn.net/yerenyuan_pku/article/details/72511749 高级参数绑定 现在进入SpringMVC高级参数绑定的学习,本文所有案例代码的编 ...

  2. SpringMVC学习笔记之二(SpringMVC高级参数绑定)

    一.高级参数绑定 1.1 绑定数组 需求:在商品列表页面选中多个商品,然后删除. 需求分析:功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Cont ...

  3. SpringMVC高级参数绑定(数组和List)

    本节内容: 参数绑定之数组 将表单的数据绑定到List 复制下上篇博客中的工程,作为今天开发的工程. 一.参数绑定之数组 1. 需求 在商品列表页面选中多个商品,然后删除. 2. 需求分析 功能要求商 ...

  4. springMVC第二天——高级参数绑定与其它特性

    大纲摘要: 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 2.@RequestMapping注解的使用 3.Controller方法返回值 4.Springmvc中异常处理 5 ...

  5. JAVAEE——SpringMVC第二天:高级参数绑定、@RequestMapping、方法返回值、异常处理、图片上传、Json交互、实现RESTful、拦截器

    1. 课前回顾 https://www.cnblogs.com/xieyupeng/p/9093661.html 2. 课程计划 1.高级参数绑定 a) 数组类型的参数绑定 b) List类型的绑定 ...

  6. 什么是springMvc的参数绑定?

    参数绑定通俗来讲就是从页面传过来的数据通过SpringMvc进行接收.接收的数据类型可以有: (1)SpringMvc默认支持的类型:request.session.application等. (2) ...

  7. springmvc(2)--参数绑定

    一.以实例来看springmvc各种参数绑定方式   先定义个dto类: public class RestInDto implements Serializable { private static ...

  8. SpringMVC学习--参数绑定

    spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上.springmvc中,接收页面提交的数据是通过方法形参来接收 ...

  9. SpringMVC(三) —— 参数绑定和数据回显

    参数绑定的过程:就是页面向后台传递参数,后台接受的一个过程. 默认支持的参数类型:(就是你在方法上以形参的形式去定义一下的类型,就可以直接使用它) HttpServletRequest HttpSer ...

  10. springmvc(三) 参数绑定、

    前面两章就介绍了什么是springmvc,springmvc的框架原理,并且会简单的使用springmvc以及ssm的整合,从这一章节来看,就开始讲解springmvc的各种功能实现,慢慢消化 --W ...

随机推荐

  1. 从ffmpeg filter里出来的数据直接送给avcodec_encode_audio2编码,写文件有错。

    http://hi.baidu.com/mingyuejingque/item/78e71aff57ae9ec5a835a2e4 感谢mingyuejingque st = avformat_new_ ...

  2. Kotlin静态方法

    Kotlin静态方法 工具类 全都是静态方法的情况 : class 类名 改为 object 类名 即可 package redwolf.com.moreimageupload import okht ...

  3. codevs 3324 新斯诺克

    3324 新斯诺克  时间限制: 1 s  空间限制: 64000 KB  题目等级 : 白银 Silver   题目描述 Description 斯诺克又称英式台球,是一种流行的台球运动.在球桌上, ...

  4. JQ对象和原生DOM对象

    相同点:两者本质上都是DOM元素. 不同点:JQ对象是在原生DOM对象上进行了一次封装,使开发人员使用起来更简洁.高效. 两者之间用法也完全不同,很说初学者经常混淆. 其实区分两者并不难, 1.语法不 ...

  5. caffe源码学习

    本文转载自:https://buptldy.github.io/2016/10/09/2016-10-09-Caffe_Code/ Caffe简介 Caffe作为一个优秀的深度学习框架网上已经有很多内 ...

  6. AQS与重入锁ReetrantLock原理

    一.AQS原理 AQS(AbstractQueuedSynchronizer)队列同步器是用来构建锁.同步组件的基础框架. AQS内部通过一个volatile int类型的成员变量state控制同步状 ...

  7. JavaScript-Tool-富文本:Simditor

    ylbtech-JavaScript-Tool-富文本:Simditor 1.返回顶部 1. 2. 2.返回顶部 1. Simditor 是团队协作工具 Tower 使用的富文本编辑器. 相比传统的编 ...

  8. Linux : Linux命令

    接触linux一段时间了,在网上搜罗了一些命令,以备后用.我有点爱上Linux了. 来自 :http://www.php100.com/html/webkaifa/Linux/2009/1106/34 ...

  9. ActionBar 溢出菜单和兼容问题解决

    当我们想做一个类似于微信菜单 很快我们应该可以想到可以用support-v7包或者actionbarshecklock,然后就写menu布局,如下 <menu xmlns:android=&qu ...

  10. 字符串函数 replace() 方法妙用

    alert('10 12 14 16'.replace(/d+/g,function(match){ return parseInt(match,10) > 10 ? '*' : match; ...