SpringMVC中使用bean來接收form表單提交的參數(shù)時的注意點(diǎn)
這是前輩們對于SpringMVC接收表單數(shù)據(jù)記錄下來的總結(jié)經(jīng)驗(yàn):
SpringMVC接收頁面表單參數(shù)
springmvc請求參數(shù)獲取的幾種方法
下面是我自己在使用時發(fā)現(xiàn)的,前輩們沒有記錄的細(xì)節(jié)和注意點(diǎn):
使用bean來接收form表單提交的參數(shù)時,pojo中必須含有默認(rèn)的(即空的)構(gòu)造函數(shù),同時,需要設(shè)置到bean中的變量必須有setter方法。
注:以下代碼均為示例代碼,非本人實(shí)際運(yùn)行代碼,請自行補(bǔ)充。
例如:我有一個bean類是User,具有變量username和password。同時,表單提交的內(nèi)容為:
<form action="save-user-info" method="post"> <span>帳號:</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; }
此時,我在Controller中才能成功接收到參數(shù)并生成對應(yīng)的bean對象
@RequestMapping(value="/save-user-info") public String saveUser(SsbiUser user) { System.out.println(user.toString()); return "user-info"; }
通過一些測試,我把這個過程理解為,前臺提交了一個包含User數(shù)據(jù)的form表單后,后臺接受到參數(shù)后,首先會生成一個不包含任何參數(shù)的User對象,然后通過setter方法往這個空的對象這設(shè)置對應(yīng)的值,最終得到我們需要的User對象。
而不是我一開始以為的,后臺接受到參數(shù)以及直接調(diào)用對應(yīng)的User(username, password)構(gòu)造方法生成需要的對象。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
相關(guān)文章
SpringBoot整合Sa-Token實(shí)現(xiàn)?API?接口簽名安全校驗(yàn)功能
這篇文章主要介紹了SpringBoot整合Sa-Token實(shí)現(xiàn)?API?接口簽名安全校驗(yàn)功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-07-07Java實(shí)現(xiàn)多任務(wù)執(zhí)行助手
這篇文章主要為大家詳細(xì)介紹了Java實(shí)現(xiàn)多任務(wù)執(zhí)行助手,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-08-08Spring MVC整合Shiro權(quán)限控制的方法
這篇文章主要介紹了Spring MVC整合Shiro權(quán)限控制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-05-05java實(shí)現(xiàn)在復(fù)制文件時使用進(jìn)度條(java實(shí)現(xiàn)進(jìn)度條)
在對大文件操作時,可能會需要些時間,此時為用戶提供進(jìn)度條提示是非常常見的一項(xiàng)功能,這樣用戶就可以了解操作文件需要的時間信息。本實(shí)例為大家介紹了在復(fù)制大的文件時使用的進(jìn)度條提示,需要注意的是,只有在讀取文件超過2秒時,才會顯示進(jìn)度條2014-03-03