天天看點

Day25SSM之SpringMVC 批量删除操作

學習目标

  • (1)批量操作
  • (2)傳回值 類型
  • (3)攔截器

批量操作

  • (1)什麼時候前台頁面會傳數組給背景?

    複選框标簽

    有兩種接收方式

數組參數綁定

  • (2)前台代碼

    多個複選框表單,并把複選框選中的内容,發給給伺服器背景,伺服器去接收

  • (3)背景代碼

    頁面如果是送出的複選框的資料,則傳回的是數組,我需要使用數組來接收

  • (4)注意:

    這裡形參數組的名字必須和表單複選框的name屬性的值一緻

demo01_array.jsp

<%--           頁面會将選中的複選框的值,需要讓複選框使用同一個name
               程式認為需要将多個值 放到數組中,送出到背景
--%>
        <form method="post" action="${pageContext.request.contextPath}/delete1.action">
            <input type="checkbox" value="1" name="ids"/> 第 1條記錄<br/>
            <input type="checkbox" value="2" name="ids"/> 第 2條記錄<br/>
            <input type="checkbox" value="3" name="ids"/> 第 3條記錄<br/>
            <input type="submit" value="送出資料到背景" > <br/>
        </form>      

Demo01Controller

@Controller
public class Demo01Controller {
    @RequestMapping("delete1.action")
    public ModelAndView test01(Integer[] ids){//參數隻需要寫數組
        System.out.println(Arrays.toString(ids));
        return null;
    }
}      

QueryOV對象綁定

  • (1)定義一個新類,類中定義一個數組成員變量
public class A{
     private 資料類型[] 變量名;
}      
  • (2)前台代碼

    表單 帶 複選框,複選框使用同一個name

  • (3)背景代碼

    方法參數為 新定義類

MyQueryOV

public class MyQueryOv {
    private Integer[] ids;

    public Integer[] getIds() {
        return ids;
    }

    public void setIds(Integer[] ids) {
        this.ids = ids;
    }
}      

Demo01Controller

@RequestMapping("delete2.action")
    public ModelAndView test02(MyQueryOv ov){//參數隻需要寫QueryOV類
        System.out.println(Arrays.toString(ov.getIds()));
        return null;
    }