學習目标
- (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;
}