springmvc之引數繫結(一)
阿新 • • 發佈:2019-02-11
引數繫結過程之基礎篇
客戶端請求的key/value資料經過引數繫結繫結到controller方法的形參上。
spring提供很多converter(轉換器),特殊情況下需要自定義converter
預設支援的型別
request response session model/modelMap 簡單型別 pojo
簡單型別引數繫結
使用 @RequestParam
public ModelAndView findProInfo(@RequestParam(value="id",required=true) Integer idValue) throws Exception{}
將id的值傳給形參idValue; required=true 表示id必須傳入 , defaultValue=? 表示設定預設值
pojo繫結
post亂碼/get亂碼 –> 自行百度
request提交的屬性名稱與pojo的屬性名稱一致
ps:不影響形參中的普通資料型別繫結
自定義引數繫結
如:形式引數pojo屬性中如果有日期型別,請求日期資料串轉換成日期型別,需要向處理器介面卡中注入自定義的引數繫結元件
程式碼:
springmvc.xml配置
<mvc:annotation-driven conversion-service ="conversionService">
</mvc:annotation-driven>
<!-- 自定義引數繫結 -->
<bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean">
<property name="converters">
<list>
<bean class="cn.xiuli.converter.DateConverter" />
</list>
</property>
</bean>
converter:
/**
* key:要轉換的
* value:轉換後的
* @author xu
*
*/
public class DateConverter implements Converter<String, Date> {
@Override
public Date convert(String source) {
//將日期串轉換成日期型別
SimpleDateFormat simFormat =
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
return simFormat.parse(source);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}
}