SpringMVC-高级参数绑定
绑定数组
需求
在商品列表页面选中多个商品,然后删除。
需求分析
此功能要求商品列表页面中的每个商品前有一个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分别表示:起始序号,结束序号,跳跃步伐。
转载于:https://www.cnblogs.com/lifeibai/p/9037251.html
SpringMVC-高级参数绑定相关推荐
- (转)SpringMVC学习(六)——SpringMVC高级参数绑定与@RequestMapping注解
http://blog.csdn.net/yerenyuan_pku/article/details/72511749 高级参数绑定 现在进入SpringMVC高级参数绑定的学习,本文所有案例代码的编 ...
- 【SSM - SpringMVC篇】03 - SpringMVC的参数绑定 - 参数自动绑定 - javabean对象参数绑 - 嵌套bean参数绑定
文章目录 SpringMVC的参数绑定 1 传统方式进行参数传递 2 通过SpringMVC的参数绑定实现[***用这个就行] 2.1 SpringMVC的基本数据类型的参数绑定 2.1.1 方法形式 ...
- SpringMvc之参数绑定注解详解
在 SpringMVC 中,提交请求的数据是通过方法形参来接收的.从客户端请求的 key/value 数据,经过参数绑定,将 key/value 数据绑定到 Controller 的形参上,然后在 C ...
- springmvc(三) 参数绑定、
前面两章就介绍了什么是springmvc,springmvc的框架原理,并且会简单的使用springmvc以及ssm的整合,从这一章节来看,就开始讲解springmvc的各种功能实现,慢慢消化 --W ...
- SpringMVC学习--参数绑定
spring参数绑定过程 从客户端请求key/value数据,经过参数绑定,将key/value数据绑定到controller方法的形参上.springmvc中,接收页面提交的数据是通过方法形参来接收 ...
- (转)SpringMVC学习(五)——SpringMVC的参数绑定
http://blog.csdn.net/yerenyuan_pku/article/details/72511611 SpringMVC中的参数绑定还是蛮重要的,所以单独开一篇文章来讲解.本文所有案 ...
- SpringMvc之参数绑定注解详解之一
引言: 前段时间项目中用到了REST风格来开发程序,但是当用POST.PUT模式提交数据时,发现服务器端接受不到提交的数据(服务器端参数绑定没有加 任何注解),查看了提交方式为application/ ...
- SpringMvc自定义参数绑定
2019独角兽企业重金招聘Python工程师标准>>> 问题:在SpringMvc中的参数绑定中,pojo对象中的日期成员变量往往不能被绑定在方法的参数中,因此为了让前台传入的日期数 ...
- 高级参数绑定(数组和List绑定)
1.绑定数组: (1) 需求 在商品列表页面选中多个商品,然后删除. (2). 需求分析 功能要求商品列表页面中的每个商品前有一个checkbok,选中多个商品后点击删除按钮把商品id传递给Contr ...
- SpringMVC之Controller和参数绑定
在上一篇Spring+SpringMVC+Mybatis整合中说到了SSM的整合,并且在其中添加了一个简单的查询功能,目的只是将整个整合的流程进行一个梳理,下面在上一篇中工程的基础上再说一些关于Spr ...
最新文章
- linux下java进程占用高问题分析过程
- SSL 握手协议详解
- AtCoder AGC038F Two Permutations (网络流、最小割)
- ubuntu下vim的命令及使用方法
- 【读书笔记】沉默的大多数
- cnetos6.2搭建mysql_基于腾讯云的Centos6.2系统搭建Apache+Mysql+PHP开发环境
- Js+Css打造的红色经典伸缩菜单代码
- Asp.Net在导入外部脚本
- 云原生全景图之六 | 托管 Kubernetes 和 PaaS 解决什么问题
- [转]转一篇不错的文章:ORM 在电子商务系统中的应用
- 【数据分析就业实战】——缺失值的常见处理方法
- C#网络编程概述 二
- 一个 8 岁的“前端老人”
- 【LA4728】Square(求凸包(多边形)直径----旋转卡壳)
- Ubuntu18.04中安装virtualenv和virtualenvwrapper
- 网页扫雷html css js,HTML+CSS+JS实现WIN7扫雷(中)
- BP算法简单推导过程
- 第八届全国噪声与振动控制工程学术会议大会报告
- 老师必备的数学几何绘图软件,赶紧收藏!
- 形如in (‘111,222,333‘) 的 ,Oracle的in函数(报错:无效数字)
热门文章
- xinit启动X Window System过程初探(转)
- CB Insight公布32家全球AI独角兽,中国10家入围
- 全球高校CS实力最新排行:清华AI界第二,中科院视觉领域最强
- 亚马逊+纽约大学开源图神经网络框架DGL:新手友好,与主流框架无缝衔接
- 我没让机器人变身,它自己就变了 | Science Robotics
- 50年间,高水平论文数量国家排名是怎样变化的?| 可视化数据
- 打字方式异于常人,可能脑子有病丨AI研究
- 提到强化学习只知道AlphaGo?其实,RL在工业界还有这些应用
- TensorFlow教程之API DOC 6.3.10. NN
- Hadoop-2.6.0NodeManager Restart Recover实现分析(一)