您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關SpringMVC中參數綁定的意義是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
參數綁定的定義
所謂參數綁定,簡單來說就是客戶端發送請求,而請求中包含一些數據,那么這些數據怎么到達 Controller。從客戶端請求key/value數據(比如get請求中包含的數據),經過參數綁定,將key/value數據綁定到controller方法的形參上。springmvc中,接收頁面提交的數據是通過方法形參來接收。而不是在controller類定義成員變量接收。
SpringMVC中默認支持的類型
自定義參數類型進行綁定
對于有些參數類型,由于我們輸入的參數的類型與實體類中的參數類型不同,因此導致傳值不能成功,此時,需要進行參數類型綁定。下面以Date類型為例介紹怎樣進行自定義參數類型綁定。
User.java
import java.util.Date;public class User {private Integer id;private String username;private String sex;private Date birthday;public Integer getId() {return id;}public void setId(Integer id) {this.id = id;}public String getUsername() {return username;}public void setUsername(String username) {this.username = username == null ? null : username.trim();}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex == null ? null : sex.trim();}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}}
JSP頁面:注意輸入框的 name 屬性值和上面 POJO 實體類的屬性保持一致即可映射成功。
<form action="pojo" method="post"> 用戶id:<input type="text" name="id" value="2"></br> 用戶名:<input type="text" name="username" value="Marry"></br> 性別:<input type="text" name="sex" value="女"></br> 出生日期:<input type="text" name="birthday" value="2017-08-25"></br> <input type="submit" value="提交"> </form>
因為我們輸入的birthday是String類型,但是實體類中的birthday是Date類型,此時,就不會綁定成功,請求相應的controller會出現如下錯誤:
因此我們需要進行參數綁定。
參數綁定主要包括兩步:
1. 新建一個類實現Converter接口
import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date; import org.springframework.core.convert.converter.Converter; //需要實現Converter接口,這里是將String類型轉換成Date類型public class DateConverter implements Converter<String, Date> { @Override public Date convert(String source) { //實現將字符串轉成日期類型(格式是yyyy-MM-dd HH:mm:ss) SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); try { return dateFormat.parse(source); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } //如果參數綁定失敗返回null return null; }}
2. 在配置文件中進行配置
<mvc:annotation-driven conversion-service="conversionService"></mvc:annotation-driven> <bean id="conversionService" class="org.springframework.format.support.FormattingConversionServiceFactoryBean"> <property name="converters"> <!-- 自定義轉換器的類名 --> <bean class="com.ys.util.DateConverter"></bean> </property> </bean>
這樣就完成了自定義參數類型的綁定。
以上就是SpringMVC中參數綁定的意義是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。