1、使用@RequestParam將請求參數綁定至方法參數java
使用這種方法,沒必要要求請求的參數名和形參名保持一致。而且,若是參數使用了該註解,則該參數默認是必須提供的(頁面必須保證此值存在),但你也能夠把該參數標註爲非必須的:只須要將@RequestParam註解的required屬性設置爲false便可(好比,@RequestParam(value="id", required=false))。spring
@Controller @RequestMapping("/pets") @SessionAttributes("pet") public class EditPetForm { // ... @RequestMapping(method = RequestMapping.GET) public String setupForm(@RequestParam("petId") int petId, ModelMap model) { Pet pet = this.clinic.loadPet(petId); model.addAttribute("pet", pet); return "petForm"; } // ,.. }
2、Stirng 類型的參數綁定數組
3、數組參數的綁定app
頁面定義:編輯器
<script language="JavaScript"> <%-- 提交表單 --%> function deleteItems() { document.itemsForm.action = "${pageContext.request.contextPath }/items/deleteItems.action"; document.itemsForm.submit(); } function queryItems() { document.itemsForm.action = "${pageContext.request.contextPath }/items/queryItems.action"; document.itemsForm.submit(); } </script> <td><input type="button" value="批量刪除" onclick="deleteItems()"/></td> <%--多選框 --%> <td><input type="checkbox" name="items_id" value="${item.id}"/></td>
controller方法定義:ui
@RequestMapping("deleteItems") public String deleteItems(Integer[] items_id) { //調用service批量刪除商品 return "success"; }
4、List 參數的綁定this
需求:批量提交數據時,將提交的數據綁定到List<pojo> 中 ,好比:成績錄入(批量提交) 本例子需求,批量修改,在頁面輸入多個商品的信息,將多個商品提交到controller方法中..net
表現層:controller方法定義: 1.進入商品修改界面(樣式,參考商品列表實現 2. 批量修改提交 3. 既然頁面沒有list屬性.能夠本身在pojo中設置一個List實例變量,並提供getter、setter方法 4. 那麼,就能夠經過包裝pojo接收,頁面傳給List實例變量的數據。頁面傳來的每一個數據都是list的元素(每一個屬性都用一個對象來包裝),並在遍歷時以其varStatus的值來標識下標.code
頁面orm
<script language="JavaScript"> <%-- 提交表單 --%> function editItemsAll() { document.itemsForm.action = "${pageContext.request.contextPath }/items/editItemsAll.action"; document.itemsForm.submit(); } function editItemsQuery() { document.itemsForm.action = "${pageContext.request.contextPath }/items/editItemsQuery.action"; document.itemsForm.submit(); } </script> <td><input type="button" value="查詢" onclick="editItemsQuery()"/></td> <td><input type="button" value="批量修改提交" onclick="editItemsAll()"/></td> <!--商品列表--> <table width="100%" border=1> <tr> <td>商品名稱</td> <td>商品價格</td> <td>生產日期</td> <td>商品描述</td> <td>操做</td> </tr> <c:forEach items="${itemsList }" var="item" varStatus="status"> <tr> <td><input name="itemsCustomList[${status.index}].name" value="${item.name }"/></td> <td><input name="itemsCustomList[${status.index}].price" value="${item.price }"/></td> <td><input name="itemsCustomList[${status.index}].createtime" value="<fmt:formatDate value="${item.createtime}" pattern="yyyy-MM-dd HH:mm:ss"/>"/></td> <td><input name="itemsCustomList[${status.index}].detail" value="${item.detail }"/></td> </tr> </c:forEach> </table>
controller方法:
//批量修改顯示頁面 @RequestMapping("/editItemsQuery") public String editItemsQuery(Model model, ItemsQueryVo itemsQueryVo) throws Exception { List<ItemsCustom> itemsList = itemsService.findItemsList(itemsQueryVo); model.addAttribute("itemsList", itemsList); return "items/editItemsQuery"; } //修改提交頁面 @RequestMapping("/editItemsAll") public String editItemsAll(ItemsQueryVo itemsQueryVo) { //注入service操做 return "success"; }
5、map 參數的綁定
map 與list相似.