1. 程式人生 > >SpringMVC複雜資料繫結——繫結陣列實現批量刪除

SpringMVC複雜資料繫結——繫結陣列實現批量刪除

前幾天學習SSM開發框架遇到了批量刪除的資料繫結問題,就從網上學習了一下,參考別人的部落格又加了點自己的見解寫了這篇部落格。

繫結陣列

在實際開發時,可能會遇到前端請求需要傳遞到後臺多個input的Name屬性相同的資料的情況(如批量刪除),這個情況用SpringMVC的Controller的普通的引數資料繫結是不行的。此時就需要使用繫結陣列的方式來實現需求。

下面通過一個例子來詳細介紹繫結陣列的操作:

HTMl

<form action="/vitae/deleteUsers.action" method="post">
		<table width="200px" border=1>
			<tr>
				<td>選擇</td>
				<td>使用者名稱</td>
			</tr>
			<tr>
				<td><input name="ids" value="1" type="checkbox" /></td>
				<td>tom</td>
			</tr>
			<tr>
				<td><input name="ids" value="2" type="checkbox" /></td>
				<td>jack</td>
			</tr>
			<tr>
				<td><input name="ids" value="3" type="checkbox" /></td>
				<td>marry</td>
			</tr>
		</table>
		<input type="submit" value="刪除" />
	</form>

上面的form表單定義了 3個name屬性相同而value屬性值不同的複選框,並在每一個複選框對應的行中編寫了一個對應使用者。在單擊"刪除"按鈕執行刪除操作時,表單會提交到“/deleteUsers”請求中。

Controller

/*
	 * 接收批量刪除使用者的方法
	 */
	@RequestMapping("/deleteUsers.action")
	public String skillInformation(int[] ids){
		for(int id:ids){
			System.out.println("id為:"+id);
		}
		return "";
	}

Controller層接收Html傳遞的資料的引數陣列名ids要與jsp頁面的input的name名一致。

執行結果

圖中顯示說明已經成功實現了陣列型別的資料繫結