SpringMVC複雜資料繫結——繫結陣列實現批量刪除
阿新 • • 發佈:2018-11-06
前幾天學習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名一致。
執行結果
圖中顯示說明已經成功實現了陣列型別的資料繫結