1. 程式人生 > >JSP向Servlet傳遞陣列引數

JSP向Servlet傳遞陣列引數

今天需要做一個多選刪除功能,需要從JSP中獲取已勾選的多選框的值,傳遞到Servlet中進行刪除操作。

<input type="checkbox" name="checkProduct" value="${product.pid}">
<input type="checkbox" name="checkProduct" value="${product.pid}">
<input type="checkbox" name="checkProduct" value="${product.pid}">
<input type="checkbox" name="checkProduct" value="${product.pid}">
<button type="button" id="delete" name="delete" value="刪除" class="button_add" onclick="delCheckProduct()">刪除</button>


<script type="text/javascript">
 function delCheckProduct() {

			    //獲取多選框的選中狀態
			    product = document.getElementsByName("checkProduct");
				checkProduct = [];
				for(k in product){
				    if (product[k].checked){
						checkProduct.push(product[k].value);
					}
				}
				//alert(checkProduct);

				//刪除
				var isDel = confirm("確認刪除嗎?");
				if (isDel){
				    //將checkProduct陣列當做引數傳遞到servlet
				    window.location.href = "${pageContext.request.contextPath}/adminDelProductByChecked?checkProduct="+checkProduct;
				}
            }
</script>

在Servlet中接收傳遞過來的值:
String checkProduct = request.getParameter("checkProduct");
//        System.out.println(checkProduct);

        String uid[] = checkProduct.split(",");

        AdminDelProductByCheckedService service = new AdminDelProductByCheckedService();
        try {
            service.delProductByChecked(uid);
        } catch (SQLException e) {
            e.printStackTrace();
        }
        for (int i = 0; i < uid.length; i++){
            System.out.println(uid[i]);
        }
    }