温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring Mvc中对象的参数出现重名如何解决

发布时间:2020-12-02 16:46:49 来源:亿速云 阅读:125 作者:Leah 栏目:编程语言

Spring Mvc中对象的参数出现重名如何解决?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

发现问题

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属于哪个对象
}

解决办法

新建包装类如下:

public class TeaAndStu{

 private Teacher t;
 private Student s;

 // 省略构造函数和getter setter 
}

此时写法如下:

老师年龄: <input type='text' name='t.age' value='20'/>

学生年龄: <input type='text' name='s.age' value='10'/>

// 由于页面中使用了绑定参数的前缀,此时通过包装类可以正常传入参数
public void getPerson(TeaAndStu ts){

 // ts.t.age = '20';
 // ts.s.age = '10';
}

看完上述内容,你们掌握Spring Mvc中对象的参数出现重名如何解决的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI