欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringMVC 參數(shù)綁定意義及實現(xiàn)過程解析

 更新時間:2019年11月07日 10:03:21   作者:Demrystv  
這篇文章主要介紹了SpringMVC 參數(shù)綁定意義及實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

參數(shù)綁定的定義

所謂參數(shù)綁定,簡單來說就是客戶端發(fā)送請求,而請求中包含一些數(shù)據(jù),那么這些數(shù)據(jù)怎么到達 Controller。從客戶端請求key/value數(shù)據(jù)(比如get請求中包含的數(shù)據(jù)),經(jīng)過參數(shù)綁定,將key/value數(shù)據(jù)綁定到controller方法的形參上。springmvc中,接收頁面提交的數(shù)據(jù)是通過方法形參來接收。而不是在controller類定義成員變量接收。

SpringMVC中默認支持的類型

自定義參數(shù)類型進行綁定

對于有些參數(shù)類型,由于我們輸入的參數(shù)的類型與實體類中的參數(shù)類型不同,因此導(dǎo)致傳值不能成功,此時,需要進行參數(shù)類型綁定。下面以Date類型為例介紹怎樣進行自定義參數(shù)類型綁定。

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類型,此時,就不會綁定成功,請求相應(yīng)的controller會出現(xiàn)如下錯誤:

因此我們需要進行參數(shù)綁定。

參數(shù)綁定主要包括兩步:

1. 新建一個類實現(xiàn)Converter接口

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
 
import org.springframework.core.convert.converter.Converter;
 
//需要實現(xiàn)Converter接口,這里是將String類型轉(zhuǎn)換成Date類型
public class DateConverter implements Converter<String, Date> {
 
  @Override
  public Date convert(String source) {
    //實現(xiàn)將字符串轉(zhuǎn)成日期類型(格式是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();
    }
    //如果參數(shù)綁定失敗返回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">
      <!-- 自定義轉(zhuǎn)換器的類名 -->
      <bean class="com.ys.util.DateConverter"></bean>
    </property>
  </bean>

這樣就完成了自定義參數(shù)類型的綁定。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Windows安裝Maven并配置環(huán)境變量

    Windows安裝Maven并配置環(huán)境變量

    Maven是一個基于Java的項目管理工具,可以管理項目的構(gòu)建、測試和部署,本文就來介紹一下Windows安裝Maven并配置環(huán)境變量,感興趣的可以了解一下
    2024-11-11
  • SpringBoot下使用定時任務(wù)的方式全揭秘(6種)

    SpringBoot下使用定時任務(wù)的方式全揭秘(6種)

    這篇文章主要介紹了SpringBoot下使用定時任務(wù)的方式全揭秘(6種),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • SpringBoot+Vue+JWT的前后端分離登錄認證詳細步驟

    SpringBoot+Vue+JWT的前后端分離登錄認證詳細步驟

    這篇文章主要介紹了SpringBoot+Vue+JWT的前后端分離登錄認證,其實創(chuàng)建后端springboot工程也很簡單,本文安裝idea步驟一步步給大家詳細介紹,需要的朋友可以參考下
    2021-09-09
  • gateway基本配置教程

    gateway基本配置教程

    路由(Route)由一個ID,一個目標URI(最終路由到的url地址),一組斷言(匹配條件判斷)和一組過濾器定義,這篇文章主要介紹了gateway基本配置,需要的朋友可以參考下
    2023-05-05
  • 通過idea創(chuàng)建Spring Boot項目并配置啟動過程圖解

    通過idea創(chuàng)建Spring Boot項目并配置啟動過程圖解

    這篇文章主要介紹了通過idea創(chuàng)建Spring Boot項目并配置啟動過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-11-11
  • Java面向?qū)ο髮崿F(xiàn)汽車租賃系統(tǒng)

    Java面向?qū)ο髮崿F(xiàn)汽車租賃系統(tǒng)

    這篇文章主要為大家詳細介紹了Java面向?qū)ο髮崿F(xiàn)汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java使用Lettuce客戶端在Redis在主從復(fù)制模式下命令執(zhí)行的操作

    Java使用Lettuce客戶端在Redis在主從復(fù)制模式下命令執(zhí)行的操作

    這篇文章主要介紹了Java使用Lettuce客戶端在Redis在主從復(fù)制模式下命令執(zhí)行的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-04-04
  • SpringBoot整合swagger的操作指南

    SpringBoot整合swagger的操作指南

    Swagger 是一個開源的框架,用于設(shè)計、構(gòu)建、文檔化和使用 RESTful 風格的 Web 服務(wù),Spring Boot 是一個用于構(gòu)建獨立的、基于生產(chǎn)級別的 Spring 應(yīng)用程序的框架,本文講給大家介紹一下SpringBoot整合swagger的操作指南,需要的朋友可以參考下
    2023-09-09
  • Java雙括弧初始化操作技巧

    Java雙括弧初始化操作技巧

    這篇文章主要介紹了Java雙括弧初始化操作技巧,這種方法不僅提高了代碼的可讀性,而且簡化了代碼的數(shù)量,需要的朋友可以參考下
    2015-12-12
  • java中常見的中文亂碼總結(jié)

    java中常見的中文亂碼總結(jié)

    本文主要介紹了java中常見的中文亂碼以及解決方法,主要包括字節(jié)碼文件讀取時出現(xiàn)的亂碼問題,本文通過實例代碼給大家介紹的非常詳細,具有很好的參考價值,感興趣的朋友跟隨小編一起看看吧
    2017-03-03

最新評論