1. 程式人生 > >7.引數繫結-List型別(傳智播客)

7.引數繫結-List型別(傳智播客)

需求:批量修改商品資訊

一.顯示所有商品資訊

1.controller層開發

//查詢商品列表(批量修改)
@RequestMapping("/displayItems")
public ModelAndView displayItems() throws Exception{
    List<Items> itemsList = itemsService.getItemsList();
    ModelAndView modelAndView = new ModelAndView();
    modelAndView.addObject("itemsList",itemsList);
    modelAndView.setViewName("items/displayItems");
    log.info("itemList:"+itemsList);
    return modelAndView;
}

2.service層、dao層的開發與案例3(ssm整合)相同。
3.web層開發

<c:forEach items="${itemsList}" var="item" varStatus="status">
  <tr>
       <td>${item.itemId}</td>
       <td><input type="hidden" name="itemsCustomList[${status.index}].itemId" value="${item.itemId}"/>
           <input type="text" name="itemsCustomList[${status.index}].itemName" value="${item.itemName}"/></td>
       <td><input type="text" name="itemsCustomList[${status.index}].itemPrice" value="${item.itemPrice}"/></td>
       <td><input type="text" name="itemsCustomList[${status.index}].itemDetail" value="${item.itemDetail}"/></td>
       <td><input type="text" name="itemsCustomList[${status.index}].itemCreateDate" value="<fmt:formatDate value="${item.itemCreateDate}" pattern="yyyy-MM-dd hh:mm:ss"/>"/></td>
   </tr>
</c:forEach>

二.批量修改資料庫的商品資訊

1.controller層開發

//查詢商品列表(批量修改)
@RequestMapping("/updateItems")
public ModelAndView updateItems(ItemsQueryVo itemsQueryVo) throws Exception{
   ModelAndView modelAndView = new ModelAndView();
    try {
        for (int i = 0; i < itemsQueryVo.getItemsCustomList().size(); i++) {
            itemsService.updateItems(itemsQueryVo.getItemsCustomList().get(i).getItemId(), itemsQueryVo.getItemsCustomList().get(i));
        }
    }catch (Exception e){
        e.printStackTrace();
    }
    modelAndView.setViewName("items/success");
    return modelAndView;
}

2.service層、dao層、web層的開發與案例4引數繫結(基本資料型別和pojo型別)相同。