0 0

springMVC 数据绑定 多个对象 如何准确绑定?5

以前用struts2时,url请求参数自动封装成对象用的很是爽,但是在spring中,就有问题了: 

比如,有两个对象


class Student{

    private String name;

    private String type; //比如有自费、公费

}



class teacher{

    private String name;

    private String level;

}

当中的get/set方法省略。 

struts2的中jsp的写法是:


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

这样子在action中就能封装好student和teacher对象。 

但是在spring中,要这么写


@RequestMapping("/school.do")

public String school(Student student, Teacher teacher) {

     return "school";

}

如果还是想刚才的jsp那些写表单,是不能封装参数的,必须把“student.”和“teacher.”去掉,但是这样封装就不能准确封装了。
2012年11月04日 23:48

7个答案 按时间排序 按投票排序

0 0

采纳的答案

刚刚写了一个扩展来解决这个问题
http://jinnianshilongnian.iteye.com/blog/1717180

支持spring 3.1.x 暂不支持spring3.0

2012年11月06日 07:39
0 0

方便了开发,就会牺牲性能。就看如何取舍了。

2014年1月24日 14:20
0 0

楼主看下这个帖子,里面讨论了这个问题,http://www.iteye.com/topic/1124433,第三页

2012年11月05日 10:12
0 0

写Dto转化一下吧!struts2方便了开发,牺牲了运行的效率

2012年11月05日 10:00
0 0

自己写个DataBinderModel{
Student student;
Teacher teacher;
//get --set---省略
}。
把参数绑定到这个model就可以了。这方面确实没有struts直接,需要中间转一下。

2012年11月05日 09:24
0 0

如果一个表单需要提交多个对象!这个时候你的设计可能不是那么优雅!
如果想精确匹配,你写一个总的 DTO 转换下

2012年11月05日 09:00
0 0

这是spring的问题,确实不能带前缀,如果需要我可以写一个扩展

2012年11月05日 07:05

相关推荐

    SpringMVC接收多个对象的4种方法

    在SpringMVC框架中,处理接收多个对象的情况是常见的需求,尤其在处理多条数据的批量操作时。本文将详细讲解四种不同的方法来接收并处理多个对象,以满足后端控制器从前端表单获取多名乘客信息的需求。 1. **表单...

    SpringMVC数据绑定及数据类型转换

    这时,SpringMVC会将多个值绑定到同一个属性,通常是List或数组类型。 例如,对于一个多选框,HTML可能会有多个`name="interest"`的选项,SpringMVC会将它们的值绑定到`List&lt;String&gt;`类型的`interests`属性: ```...

    SpringMVC 数据绑定实例详解

    例如,如果有多个同名的请求参数,它们会被转换为一个 List 对象。 此外,SpringMVC 还支持数据验证。我们可以使用 JSR-303 或 Hibernate Validator 规范来添加验证注解,如 `@NotNull`、`@Size` 等,来确保用户...

    springmvc 参数绑定例子1

    - **ModelAttribute**:当表单数据对应于一个复杂对象时,可以使用`@ModelAttribute`注解,Spring MVC会自动将请求参数映射到对象属性。 ```java @PostMapping("/saveUser") public String saveUser(@...

    springmvc各种参数绑定

    每个具体的解析器都会覆盖`resolveArgument()`方法,实现自己的数据绑定逻辑。例如,`RequestParamMethodArgumentResolver`会检查请求参数是否存在,并尝试将其转换为期望的类型。 总的来说,Spring MVC的参数绑定...

    SpringMVC入门很简单之数据绑定(上)

    例如,一个表单提交多选框,每个选项对应一个值,可以绑定到一个String类型的List: ```html ... ``` 在控制器中,可以这样接收: ```java public String handleForm(@RequestParam("colors") List...

    springmvc入门参数绑定ssm整合

    SpringMVC入门参数绑定SSM整合 SpringMVC是一种基于MVC模式的Web应用程序框架,它是Spring框架的一个模块,用于开发Web项目。下面是SpringMVC入门参数绑定SSM整合的知识点总结: 一、SpringMVC概述 SpringMVC是...

    Spring MVC数据绑定概述及原理详解

    对于更复杂的场景,比如客户端发送多个参数,我们可以使用POJO(Plain Old Java Object)进行数据绑定。POJO对象可以包含多个属性,每个属性对应请求中的一个参数。例如: ```java public class User { private ...

    springMVC前后交互代码,多对象传递

    - 在实际开发中,往往需要同时处理多个对象。可以使用`@ModelAttribute`注解配合方法参数来实现。例如,假设有一个Order类和Product类,可以在控制器方法中声明`@ModelAttribute Order order, @ModelAttribute ...

    SSM(Spring+SpringMVC+MyBatis)多数据源配置框架

    1. **数据源配置**:在Spring配置文件中,我们需要定义多个数据源bean,每个数据源对应一个数据库连接。这可能包括Druid或HikariCP这样的连接池配置。 2. **动态数据源**:Spring的AbstractRoutingDataSource类允许...

    springmvc-demo05-数据绑定(接受参数).zip

    这个注解更加强大,它可以将多个请求参数映射到一个Java对象上,从而减少方法参数的数量。首先,你需要创建一个Java Bean来表示这些参数: ```java public class UserForm { private String name; private int ...

    springmvc绑定Set的解决方案

    当使用HTML表单提交数据时,Spring MVC会自动将同名的多个input元素值合并成一个Set。每个input元素的name属性应该相同,值则作为Set的元素。 6. **自定义类型处理器** 对于更复杂的场景,可以注册自定义的`...

    spring MVC数据绑定大全

    在Spring MVC中,数据绑定是一项核心功能,它允许开发者将用户输入的数据与控制器中的对象属性进行关联,简化了数据处理的复杂性。本文将详细介绍Spring MVC中的数据绑定,并提供实例帮助初学者理解。 1. **模型...

    SpringMVC中一个Controller多个方法

    另外,`@ModelAttribute`注解用于将请求参数绑定到Java对象,`@SessionAttributes`则可以管理session中的数据。还有`@ExceptionHandler`用于全局处理异常,提供统一的错误页面或API响应。 综上所述,Spring MVC的...

    Mybatis+Spring+SpringMVC+quartz多数据源切换

    在多数据源切换的场景下,Mybatis可以配置多个数据源,根据业务需求动态选择执行SQL的数据库。 **Spring** 是一个全面的企业级应用开发框架,它为依赖注入(DI)、面向切面编程(AOP)以及事务管理等提供了强大的...

    Spring In Action MVC 提交表单(2)-数据绑定和数据校验

    本篇文章将深入探讨Spring MVC中关于数据绑定和数据校验的知识点。 1. **数据绑定** 数据绑定是Spring MVC中一个强大的特性,它允许我们将HTTP请求参数自动映射到控制器方法的参数上。例如,当用户提交一个HTML...

    搭建SpringMVC(数据访问 Springdata)

    SpringMVC和SpringData是Java开发中常用的两个框架,它们分别负责Web应用的模型-视图-控制器架构和数据访问层的操作。在这个项目中,我们将深入理解如何将这两个框架集成,构建一个完整的数据访问系统。 首先,让...

    springmvc高级参数绑定

    在这个场景中,我们需要实现一个功能,让用户能够在商品列表页面上选择多个商品,然后通过点击删除按钮将选中的商品ID批量传递给后端Controller,以便删除相应的商品信息。下面我们将详细讨论如何实现这个功能。 ...

    SpringMVC PPT_springmvc_

    SpringMVC 提供了自动的数据绑定功能,可以从请求参数自动填充到 Java 对象,同时也支持基于 Bean Validation 的数据验证。 十、上传下载支持 SpringMVC 提供了对文件上传和下载的支持,可以方便地处理用户的文件...

    SpringMVC自定义参数绑定实现详解

    SpringMVC自定义参数绑定实现详解 SpringMVC自定义参数绑定实现详解主要介绍了SpringMVC自定义参数绑定实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以...

Global site tag (gtag.js) - Google Analytics