学習目標
- (1)バッチ操作
- (2)戻り値タイプ
- (3)インターセプター
バッチ操作
- (1)フォアグラウンドページはいつアレイをバックグラウンドに渡しますか?
チェックボックスラベル
を受け取る方法は2つあります
配列パラメータのバインド
》》配列
》》 QueryOVオブジェクト
- (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)フロントエンドコード
フォームにはチェックボックスがあり、チェックボックスは同じ名前を使用します - (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;
}