绑定数组

需求

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

需求分析

此功能要求商品列表页面中的每个商品前有一个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. BZOJ 1633 [Usaco2007 Feb]The Cow Lexicon 牛的词典:dp【删字符最少】

    题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1633 题意: 给你一个长度为n的主串a,和一个有m个字符串s[i]的单词书(s[i].si ...

  2. 生成chm格式帮助文档的步骤

    开场前,道具先得被齐全了. 道具:struts2的开源代码(以生成struts2的帮助文档为例).chm格式生成工具jd2chm.exe(网上有) 好了,准备演出 1.在eclipse中新建一个jav ...

  3. html5--select与HTML5新增的datalist元素

    html5--select与HTML5新增的datalist元素 学习要点 掌握select元素与datalist元素的使用 select元素 用来建立一个下拉菜单选项列表 不仅可以在表单中使用,还可 ...

  4. 【概念】SVG(1)

    ok,我们讲讲svg 学习前提:懂HTML和基本的XML SVG简介: 1.SVG全称Scable Vector Graphic,可伸缩的矢量图 2.SVG用于定义针对于Web的基于矢量的图形 3.S ...

  5. C语言教学杂记——字母排序

    一个人在被告诉一个问题应该怎么被解决后,而且亲身试验效果OK后,一旦遇到类似的问题,就会条件反射般直接拿这个方法来用了.很少会去想为什么要用这个方法,会不会有什么隐患,还有没有别的方法呢,等等这些问题 ...

  6. 登录加密 md5

    实现账户和密码登录的加密 https://github.com/AndreasPizsa/md5-jkmyers

  7. 安装ubuntu16.04之后无法关机和重启

    这个问题是由于NVIDA驱动导致的,查询显卡型号,安装对应版本的驱动就可以解决此问题.ubuntu16.04 NVIDIA 驱动安装

  8. linux sdk配置

    http://blog.csdn.net/wudj810818/article/details/51251408,环境变量配置不要用 SDK环境变量: export PATH=$PATH:/opt/a ...

  9. Python interview_python

    https://github.com/taizilongxu/interview_python 1 Python的函数参数传递 strings, tuples, 和numbers是不可更改的对象,而l ...

  10. 堆栈(栈stack)的实现和基本用法(二)

    个人网站http://www.ravedonut.com/ 栈的应用: #include <iostream> #include <stack> using namespace ...