91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于Spring MVC同名參數綁定問題的解決方法

發布時間:2020-09-15 06:20:19 來源:腳本之家 閱讀:168 作者:MartinDai 欄目:編程語言

前言

最近在使用Spring MVC接收參數的時候,碰到個同名參數綁定的問題,參考了好幾篇文章才解決問題,所以自己在這里總結一下,分享出來供大家參考學習,話不多說了,來一起看看詳細的介紹:

比如,我的表單是這樣的:

<form action="/test.action" method="post"> 
 <input name="user.name"> 
 <input name="acc.name"> 
 <input type="submit"> 
</form> 

如果是sturts的話,這個很好解決,在Controller聲明user和acc對象就行了,但是SpringMVC的參數綁定和struts不一樣,它會自動的去找對應的屬性綁定,而如果你的action是這樣的:

@RequestMapping("/test.action")
public void test(Account account, User user){
 System.out.println(user);
 System.out.println(account);
} 

這樣的話是會報錯的,怎么辦呢?

這里要用到@InitBinder這個注解,詳細的解釋可以找相關資料,這里只講怎么用。在Controller類添加下面兩個方法,作用是把指定的開頭標識符的值賦給成指定名字的對象

@InitBinder("account") 
public void initAccountBinder(WebDataBinder binder) { 
 binder.setFieldDefaultPrefix("acc."); 
} 

@InitBinder("user") 
public void initUserBinder(WebDataBinder binder) { 
 binder.setFieldDefaultPrefix("user."); 
}

然后把action方法改造成下面這樣就可以了。

@RequestMapping("/test.action")
public void test(@ModelAttribute("account") Account account, @ModelAttribute("user") User user){
 System.out.println(user);
 System.out.println(account);
}

注意: @ModelAttribute里面的參數要跟上面定義的@InitBinder里面的值對應,否則是取不到值的。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

榆社县| 钟祥市| 鄱阳县| 那坡县| 寻乌县| 靖边县| 灌阳县| 洪雅县| 泾源县| 习水县| 扶绥县| 阳曲县| 六枝特区| 乃东县| 城口县| 玉环县| 平山县| 砀山县| 永胜县| 泸溪县| 会泽县| 电白县| 防城港市| 榆中县| 贡嘎县| 武平县| 庆阳市| 金平| 南郑县| 景东| 衡水市| 沁源县| 五台县| 泽库县| 天水市| 金山区| 武安市| 曲松县| 龙江县| 曲水县| 伊春市|