Springmvc前端傳值到後臺 對應實體類接收
阿新 • • 發佈:2019-01-27
繫結陣列
每個商品前有一個checkbok,選中多個商品後點擊刪除按鈕把商品id傳遞給Controller。
jsp頁面<c:forEach items="${itemList }"var="item">
<tr>
<td><inputtype="checkbox"name="ids"value="${item.id}"/></td>
<td>${item.name }</td>
<td>${item.price }</td>
<td>${item.detail }</td >
</tr>
</c:forEach>
ControllerController方法中可以用String[]接收,或者pojo的String[]屬性接收。兩種方式任選其一即可。
@RequestMapping("queryItem")
public String queryItem(QueryVo queryVo, Integer[] ids) {
System.out.println(queryVo.getIds().length);
System.out.println(ids.length);
return"success";
}
pojopublicclassQueryVo {
privateItem item;
privateInteger[] ids;
set/get...
}
繫結到List
將表單的資料繫結到List,List中存放物件,並將定義的List放在包裝類QueryVo中。
pojopublicclassQueryVo{
privateItem item;
privateInteger[] ids;
privateList<Items> itemsList;
set/get...
}
jsp頁面<c:forEachitems="${itemList }"var="item"varStatus="s">
<tr>
<td> <inputtype="checkbox"name="ids"value="${item.id}"/></td>
<td>
<inputtype="hidden"name="itemList[${s.index}].id"value="${item.id }"/>
<inputtype="text"name="itemList[${s.index}].name"value="${item.name }"/>
</td>
<td><inputtype="text"name="itemList[${s.index}].price"value="${item.price }"/></td>
<td><inputtype="text"name="itemList[${s.index}].detail"value="${item.detail }"/></td>
</tr>
</c:forEach>
日期型別處理
springmvc 在接收日期型別引數時,如不做特殊處理 會出現400語法格式錯誤。下來就是處理方式。
controller/**
* 接收日期型別引數
*
*/
@RequestMapping("/test")
publicStringtest(Datebirthday){
System.out.println(birthday);
return"index";
}
自定義型別轉換規則SpringMVC提供了Converter介面,它支援從一個Object轉換為另一個Object。
/**
* 全域性日期處理類
* Convert<T,S>
* 泛型T:代表客戶端提交的引數 String
* 泛型S:通過convert轉換的型別
*/
publicclassDateConvertimplementsConverter<String,Date> {
@Override
publicDateconvert(StringstringDate) {
SimpleDateFormat simpleDateFormat =newSimpleDateFormat("yyyy-MM-dd");
try{
returnsimpleDateFormat.parse(stringDate);
}catch(ParseException e) {
e.printStackTrace();
}
returnnull;
}
}
註冊自定義的型別轉換類<!-- 第三步:註冊處理器對映器/處理器介面卡 ,新增conversion-service屬性-->
<mvc:annotation-drivenconversion-service="conversionService"/>
<!-- 第二步: 建立convertion-Service ,並注入dateConvert-->
<beanid="conversionService"class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<propertyname="converters">
<set>
<refbean="dateConvert"/>
</set>
</property>
</bean>
<!-- 第一步: 建立自定義日期轉換規則 -->
<beanid="dateConvert"class="zpark.convert.DateConvert"/>