zoukankan      html  css  js  c++  java
  • springmvc使用数组接收页面商品列表批量删除传过来的参数,并完成批量删除的操作。

    1.1 需求 

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

    1.2 需求分析

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

    1.3 Jsp中实现

    <form
            action="${pageContext.request.contextPath }/deleteAll.action"
            method="post">
            查询条件:
            <table width="100%" border=1>
                <tr>
                    <td><input type="submit" value="批量删除" /></td>
                    
                </tr>
            </table>
            商品列表:
            <table width="100%" border=1>
                <tr>
                    <td>商品名称</td>
                    <td>商品价格</td>
                    <td>生产日期</td>
                    <td>商品描述</td>
                    <td>操作</td>
                </tr>
                <c:forEach items="${itemList }" var="item">
                    <tr>
                        <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>

      注意:标签的name属性的名字应该与pojo类型定义的属性相同。

      将批量删除的参数传到deleteAll.action中,通过controller进行处理。

    1.4 Controller

      controller方法可以使用Integer[]接收,或者pojo的Integer[]属性接收。两种方式任选其一即可。但是我们一般选择pojo对象,因为面向对象能传对象就传对象。

      在pojo中定义为:

    package com.huida.vo;
    
    import com.huida.pojo.Items;
    
    public class QueryVo {
    
        private Items items;
        private Integer[] ids;
    
        public Items getItems() {
            return items;
        }
    
        public void setItems(Items items) {
            this.items = items;
        }
    
        public Integer[] getIds() {
            return ids;
        }
    
        public void setIds(Integer[] ids) {
            this.ids = ids;
        }
    
        
        
    }

      在controller中定义为:

        //传参的时候可以穿Integer,但是我们一般穿对象
        @RequestMapping("deleteAll")
        public String deleteAll(QueryVo queryVo){
            System.out.println(queryVo.getIds().length);
            return null;
            
        }

      或者我们直接使用Integer[]进行传参

    @RequestMapping("deleteAll")
        public String deleteAll(Integer[] ids){
            System.out.println(ids.length);
            return null;
            
        }

     我们在页面中选中需要删除的记录,会在控制台输出需要删除的记录条数。

  • 相关阅读:
    vue Bus事件用法与bug
    移动端超出三行显示第三行显示省略号+查看全部
    Vuex
    vue点击旋转,再点击复原
    vue项目(cli-3)替换浏览器logo
    悬浮广告(二)vue版本
    悬浮广告(一)html版本
    vue下获得经纬度省市区
    一个可以输出当前移动设备机型(安卓,ios)系统版本的html页面
    谱聚类(spectral clustering)原理总结
  • 原文地址:https://www.cnblogs.com/wyhluckdog/p/10198826.html
Copyright © 2011-2022 走看看