springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定
2017-08-14 18:45
609 查看
springmvc学习笔记(13)-springmvc注解开发之集合类型參数绑定
标签: springmvcspringmvc学习笔记13-springmvc注解开发之集合类型參数绑定
数组绑定
需求
表现层实现
list绑定
需求
表现层实现
map绑定
本文主要介绍注解开发的集合类型參数绑定,包含数组绑定,list绑定以及map绑定
数组绑定
需求
商品批量删除,用户在页面选择多个商品。批量删除。表现层实现
关键:将页面选择(多选)的商品id,传到controller方法的形參,方法形參使用数组接收页面请求的多个商品id。controller方法定义:
// 批量删除 商品信息 @RequestMapping("/deleteItems") public String deleteItems(Integer[] items_id) throws Exception
页面定义:
<c:forEach items="${itemsList }" var="item"> <tr> <td><input type="checkbox" name="items_id" 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 }/items/editItems.action?id=${item.id}">改动</a></td> </tr> </c:forEach>
list绑定
需求
通常在须要批量提交数据时。将提交的数据绑定到list<pojo>中,比方:成绩录入(录入多门课成绩。批量提交),
本样例需求:批量商品改动。在页面输入多个商品信息。将多个商品信息提交到controller方法中。
表现层实现
controller方法定义:1、进入批量商品改动页面(页面样式參考商品列表实现)
2、批量改动商品提交
使用List接收页面提交的批量数据,通过包装pojo接收,在包装pojo中定义
list<pojo>属性
public class ItemsQueryVo { //商品信息 private Items items; //为了系统 可扩展性。对原始生成的po进行扩展 private ItemsCustom itemsCustom; //批量商品信息 private List<ItemsCustom> itemsList;
// 批量改动商品提交 // 通过ItemsQueryVo接收批量提交的商品信息,将商品信息存储到itemsQueryVo中itemsList属性中。 @RequestMapping("/editItemsAllSubmit") public String editItemsAllSubmit(ItemsQueryVo itemsQueryVo) throws Exception { return "success"; }
页面定义:
<c:forEach items="${itemsList }" var="item" varStatus="status"> <tr> <td><input name="itemsList[${status.index }].name" value="${item.name }"/></td> <td><input name="itemsList[${status.index }].price" value="${item.price }"/></td> <td><input name="itemsList[${status.index }].createtime" value="<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/></td> <td><input name="itemsList[${status.index }].detail" value="${item.detail }"/></td> </tr> </c:forEach>
name的格式:
相应包装pojo中的list类型属性名[
下标(从0開始)].
包装pojo中List类型的属性中pojo的属性名
样例:
"name="itemsList[${status.index }].price"
能够和包装类型的參数绑定归纳对照一下,事实上就是在包装类的pojo基础上多了个下标。仅仅只是包装类參数绑定时,要和包装pojo中的pojo类性的属性名一致,而list參数绑定时。要和包装pojo中的list类型的属性名一致。
map绑定
也通过在包装pojo中定义map类型属性。在包装类中定义Map对象,并加入get/set方法,action使用包装对象接收。
包装类中定义Map对象例如以下:
Public class QueryVo { private Map<String, Object> itemInfo = new HashMap<String, Object>(); //get/set方法.. }
页面定义例如以下:
<tr> <td>学生信息:</td> <td> 姓名:<inputtype="text"name="itemInfo['name']"/> 年龄:<inputtype="text"name="itemInfo['price']"/> .. .. .. </td> </tr>
Contrller方法定义例如以下:
public String useraddsubmit(Model model,QueryVo queryVo)throws Exception{ System.out.println(queryVo.getStudentinfo()); }
相关文章推荐
- springmvc学习笔记(13)-springmvc注解开发之集合类型参数绑定
- springmvc学习笔记(13)-springmvc注解开发之集合类型参数绑定
- springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定
- 【SpringMVC注解开发】案例驱动-包装类型pojo参数绑定 SpringMVC学习笔记(五)
- springmvc学习笔记(12)-springmvc注解开发之包装类型参数绑定
- springmvc学习笔记(12)-springmvc注解开发之包装类型参数绑定
- springmvc学习笔记(11)-springmvc注解开发之简单参数绑定
- springmvc学习笔记(11)-springmvc注解开发之简单参数绑定
- 【SpringMVC注解开发】数据回显---SpringMVC学习笔记(八)
- 【SpringMVC注解开发】validation校验-商品修改校验 ---SpringMVC学习笔记(六)
- 【SpringMVC注解开发】上传图片---SpringMVC学习笔记九)
- springmvc注解开发-springmvc参数绑定-包装类型pojo参数绑定
- [转]学习笔记_springmvc注解形式的开发参数接收
- Springmvc学习笔记(4)之复杂参数类型绑定、校验、数据回显和异常处理
- 【SpringMVC注解开发】validation校验-分组校验---SpringMVC学习笔记(七)
- SpringMVC学习笔记(三)使用IntelliJ IDEA开发Spring MVC HelloWorld(注解配置SpringMVC)
- 【SpringMVC注解开发】拦截器---拦截器的定义和配置学习笔记十一
- SpringMVC注解开发(基础)---SpringMVC学习笔记(四)
- SpringMVC注解开发(基础)---SpringMVC学习笔记(七)
- springmvc学习笔记(10)-springmvc注解开发之商品修改功能