Spring MVC 不同对象的同名参数绑定

来源:互联网 发布:淘宝店铺怎么经营 编辑:程序博客网 时间:2024/05/10 01:17

问题是这样的.Student有个属性name,Teacher有个属性也是name,当同一个Controller方法需要绑定分别绑定 student,teacher时无法准确绑定name.

<form>    <input name="student.name" value="Kate" />    <input name="student.type" value="自费" />    <input name="teacher.name" value="Gavin" />    <input name="teacher.level" value="2" /></form>

@RequestMapping("/school.do")public String school(Student student, Teacher teacher) {     return "school";}

最理想的是这样的根据如上前缀将属性设置到不同对象.但这样肯定是不行的.


在Controller中定义两个初始话绑定方法,确定前缀与对象名称的绑定关系即可

 //将前缀为student.的属性绑定到 名称为student的对象    @InitBinder("student")    public void initBinder1(WebDataBinder binder){        binder.setFieldDefaultPrefix("student.");    }  //将前缀为teacher.的属性绑定到 名称为teacher的对象    @InitBinder("teacher")    public void initBinder2(WebDataBinder binder){    binder.setFieldDefaultPrefix("teacher.");    }        @RequestMapping("/school.do")    public String school(Student student, Teacher teacher) {         return "school";    }


0 0
原创粉丝点击