亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

關于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

平阳县| 奉化市| 江津市| 平和县| 佛山市| 上蔡县| 平江县| 清流县| 陇西县| 新闻| 九台市| 连云港市| 锡林郭勒盟| 清原| 寿宁县| 夹江县| 清苑县| 深水埗区| 阿拉尔市| 苏尼特左旗| 长岛县| 富锦市| 忻城县| 沂南县| 缙云县| 报价| 昭通市| 昌宁县| 黎川县| 乌拉特前旗| 汪清县| 万州区| 金华市| 湟中县| 宝山区| 夹江县| 额济纳旗| 德阳市| 龙井市| 巨鹿县| 休宁县|