springMVC中多个对象的数据绑定

目录:

  1. 概述
  2. 实现方法及测试

[一]、概述

form表单中对应了多个对象而且不同对象间的属性名有相同的情况下,如何才能把页面数据准确绑定到各个对象中去呢?比如:  form表单中对应了 Course (课程介绍,属性包含:name、description)和 Teacher (该课程的教师信息,属性包含:name、email、grade),两个对象中有同名的属性:name

[二]、实现方法及测试

如果多个对象之间没有同名的属性,springMVC可以实现对象的转化,如果是struts2 可以运用前缀的方式来解决,类似course.name,teacher.name,那么在这里我们可以从struts2中得到一定的启发,创建一个父级的对象CourseInfo.java 它包含了 Course 、Teacher 这两个对象:

Course.java

Teacher.java

view页面中 form表单内容如下:

注意:加前缀来区分

controller 的实现CourseAction.java 如下:

controller中的部分方法省略,这里主要测试下页面数据绑定的结果,测试过程如下:

表单输入内容如下图:

提交后,控制台输出日志如下:

从日志中可以看出:创建父级对象后,利用前缀区分的方式可以实现多个对象的数据准确绑定

本文介绍到此结束@Michael Sun.

原创文章,转载请注明: 转载自micmiu – 软件开发+生活点滴[ http://www.micmiu.com/ ]

本文链接地址: http://www.micmiu.com/j2ee/spring/springmvc-view-mulit-bean/

发表评论?

7 条评论。

  1. 在VO直接访问PO真的好?

  2. 这种方法不灵活,更好的方式的实现HandlerMethodArgumentResolver接口。
    http://www.cnblogs.com/fangjian0423/p/springMVC-request-param-analysis.html#demo

  3. 创建父级对象 貌似不是最好的办法, 感觉也很麻烦, 如果有N个累死的情况呢, 难道都要创建父级对象啊?

  4. 😯
    请问,就这样就ok了嘛?
    不需要额外配置什么处理器啥的么。我奇怪的是他们怎么封装成对象的啊。。。

回复给 gogo ¬
取消回复


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">