源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

解决Spring Mvc中对象绑定参数重名的问题

  • 时间:2022-06-17 14:20 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:解决Spring Mvc中对象绑定参数重名的问题
[b]前言[/b] 本文主要给大家介绍了关于解决Spring Mvc对象绑定参数重名问题的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: [b]发现问题[/b] SpringMvc提供了对象参数绑定功能,例如Person对象有一个age字段, 则页面表单使用
<input type='text' name='age' value='25'>
Controller中使用
public void getPerson(Person person){

 // 此时person对象的age属性值为25
}
若是Controller中需要绑定两类对象,且这两类对象有属性名相同,例如: Teacher类有age属性,Student类也有age属性,此时页面上再使用
<input type='text' name='age' value='25'>
Controller中接收如下:
public void getPerson(Teacher t,Student s){

 // 此时报错,因为SpringMvc并不知道这个name属于哪个对象
}
[b]解决办法[/b] 新建包装类如下:
public class TeaAndStu{

 private Teacher t;
 private Student s;

 // 省略构造函数和getter setter 
}
此时写法如下: 老师年龄: [code]<input type='text' name='t.age' value='20'/>[/code] 学生年龄: [code]<input type='text' name='s.age' value='10'/>[/code]
// 由于页面中使用了绑定参数的前缀,此时通过包装类可以正常传入参数
public void getPerson(TeaAndStu ts){

 // ts.t.age = '20';
 // ts.s.age = '10';
}
[b]总结[/b] 以上就是这篇文章的全部内容了,若是各位有更好的解决办法,希望留言告知,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对编程素材网的支持。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部