SpringMVC中使用bean來(lái)接收f(shuō)orm表單提交的參數(shù)時(shí)的注意點(diǎn)
這是前輩們對(duì)于SpringMVC接收表單數(shù)據(jù)記錄下來(lái)的總結(jié)經(jīng)驗(yàn):
SpringMVC接收頁(yè)面表單參數(shù)
springmvc請(qǐng)求參數(shù)獲取的幾種方法
下面是我自己在使用時(shí)發(fā)現(xiàn)的,前輩們沒(méi)有記錄的細(xì)節(jié)和注意點(diǎn):
使用bean來(lái)接收f(shuō)orm表單提交的參數(shù)時(shí),pojo中必須含有默認(rèn)的(即空的)構(gòu)造函數(shù),同時(shí),需要設(shè)置到bean中的變量必須有setter方法。
注:以下代碼均為示例代碼,非本人實(shí)際運(yùn)行代碼,請(qǐng)自行補(bǔ)充。
例如:我有一個(gè)bean類是User,具有變量username和password。同時(shí),表單提交的內(nèi)容為:
<form action="save-user-info" method="post"> <span>帳號(hào):</span><input type="text" name="username"><br> <span>密碼:</span><input type="text" name="password"><br> <input type="submit" value="保存"> </form>
那么,在User.java文件中必須具有
public User() {}
public void setUsername(String username) {
this.username = username;
}
public void setPassword(String password) {
this.password = password;
}
此時(shí),我在Controller中才能成功接收到參數(shù)并生成對(duì)應(yīng)的bean對(duì)象
@RequestMapping(value="/save-user-info")
public String saveUser(SsbiUser user) {
System.out.println(user.toString());
return "user-info";
}
通過(guò)一些測(cè)試,我把這個(gè)過(guò)程理解為,前臺(tái)提交了一個(gè)包含User數(shù)據(jù)的form表單后,后臺(tái)接受到參數(shù)后,首先會(huì)生成一個(gè)不包含任何參數(shù)的User對(duì)象,然后通過(guò)setter方法往這個(gè)空的對(duì)象這設(shè)置對(duì)應(yīng)的值,最終得到我們需要的User對(duì)象。
而不是我一開始以為的,后臺(tái)接受到參數(shù)以及直接調(diào)用對(duì)應(yīng)的User(username, password)構(gòu)造方法生成需要的對(duì)象。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動(dòng)和運(yùn)行效率(推薦)
這篇文章主要介紹了Windows下使用Graalvm將Springboot應(yīng)用編譯成exe大大提高啟動(dòng)和運(yùn)行效率,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02
如何在Spring Boot啟動(dòng)時(shí)運(yùn)行定制的代碼
在本文中您將學(xué)習(xí)如何掛鉤應(yīng)用程序引導(dǎo)程序生命周期并在Spring Boot啟動(dòng)時(shí)執(zhí)行代碼。文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
Java實(shí)現(xiàn)線性表的鏈?zhǔn)酱鎯?chǔ)
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)線性表的鏈?zhǔn)酱鎯?chǔ),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-10-10
Java創(chuàng)建,編輯與刪除Excel迷你圖表的實(shí)現(xiàn)方法
迷你圖是Excel工作表單元格中表示數(shù)據(jù)的微型圖表。本文將通過(guò)Java代碼示例介紹如何在Excel中創(chuàng)建迷你圖表,以及編輯和刪除表格中的迷你圖表,需要的可以參考一下2022-05-05
RxJava中map和flatMap的用法區(qū)別源碼解析
這篇文章主要為大家介紹了RxJava中map和flatMap的用法區(qū)別源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Mybatis Criteria使用and和or進(jìn)行聯(lián)合條件查詢的操作方法
這篇文章主要介紹了Mybatis Criteria的and和or進(jìn)行聯(lián)合條件查詢的方法,本文通過(guò)例子給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10
MyBatis實(shí)現(xiàn)表連接查詢寫法(三種對(duì)應(yīng)關(guān)系)的方法總結(jié)
這篇文章主要介紹了MyBatis實(shí)現(xiàn)表連接查詢寫法(一對(duì)一關(guān)系、一對(duì)多關(guān)系、多對(duì)多關(guān)系)的方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下2023-01-01

