spring mvc 中如何绑定多个(个数不确定,动态变化)相同对象?

问题描述

有如下应用场景:有一个投票系统,每一个投票主题下面有多个子调查,并且子调查的个数是不确定的,可能1个,也可能多个,具体几个用户可以动态添加子调查。假设调查主题和子调查定义如下:调查主题Vote public class Vote { private int id; private String content; private Set<SubVote> subVotes; //略去getter/setter即其它属性} 调查主题的子调查: public class SubVote { private int id; private Vote vote; private String name; //略去getter/setter即其它属性} 根据前面的叙述,调查主题下面可以有若干个子调查,子调查的个数和具体内容用户录入,然后提交,问题是:由于可能有多个子调查“SubVote”,这多个(具体个数不定)子调查的表单在提交时服务器端如何处理?表单又该如何设计?(要防止出现子调查1的选项和子调查2的选项混淆,并且子调查SubVote的属性名字是一样的) 这个问题和帖子:扩展SpringMVC以支持更精准的数据绑定 中的问题不一样,思索再三没有好的解决办法。我想的变通的解决方法是:先添加调查主题,然后一个一个的为主题添加子调查。但我想要一次添加一个主题和多个子调查的解决方案,请关注,谢谢!

解决方案

你想要的功能如果是 1:多插入 请参考我的https://github.com/zhangkaitao/es/blob/master/web/src/main/java/com/sishuok/es/showcase/parentchild/web/controller/ParentController.javapublic String create( Model model, @Valid @ModelAttribute("parent") Parent parent, BindingResult result, @FormModel("childList") List<Child> childList, RedirectAttributes redirectAttributes) {使用我博客里的@FormModel

时间: 2024-07-29 15:39:14

spring mvc 中如何绑定多个(个数不确定,动态变化)相同对象?的相关文章

jsp页面传值在spring mvc中的controller中的获取

问题描述 jsp页面传值在spring mvc中的controller中的获取 <% Seller seller =(Seller)session.getAttribute("sellerinfo"); %> <form action="<%=basePath%>plmanage/updateSeller.do" method="post"> <input type="hidden"

springmvc-页面中js跳转URL,与spring mvc中返回视图重定向,先后问题

问题描述 页面中js跳转URL,与spring mvc中返回视图重定向,先后问题 页面中有javascript函数: function mySubmitFn() { /*formname是页面form表单的名字,表单提交后由spring mvc处理,返回一个重定向视图'return new ModelAndView(new RedirectView("A.jsp"));'*/ formname.submit(); //代码1 window.location.href='B.jsp';/

Spring MVC中基于自定义Editor的表单数据处理技巧分享_java

面向对象的编程方式极大地方便了程序员在管理数据上所花费的精力.在基于Spring MVC的Web开发过程当中,可以通过对象映射的方式来管理表单提交上来的数据,而不用去一个一个地从request中提取出来.另外,这一功能还支持基本数据类型的映射.例如in.long.float等等.这样我们就能从传统单一的String类型中解脱出来.然而,应用是灵活的.我们对数据的需求是千变万化的.有些时候我们需要对表单的数据进行兼容处理. 例如日期格式的兼容: 中国的日期标注习惯采用yyyy-MM-dd格式,欧美

Spring mvc中@RequestMapping 6个基本用法小结

Spring mvc中@RequestMapping 6个基本用法小结   小结下spring mvc中的@RequestMapping的用法.  1)最基本的,方法级别上应用,例如:     Java代码   @RequestMapping(value="/departments")   public String simplePattern(){        System.out.println("simplePattern method was called"

Spring MVC 参数的绑定方法

在Spring MVC中,常见的应用场景就是给请求的Url绑定参数.本篇就介绍两种最最基本的绑定参数的方式: 基于@RequestParam 这种方法一般用于在URL后使用?添加参数,比如: @RequestMapping(value="/param1") public @ResponseBody String param1(@RequestParam("name") String name){ return name; } 如果这个参数可以省略: @Request

Spring MVC中的MultiActionController用法详解

Spring MVC 中 Controller 的层次实在是多,有些眼花缭乱了 .在单个的基础上,再新加两三个叫做丰富,再多就未必是好事, 反而会令人缩手新闻片脚,无从定夺.多数 Controller 都是只完 成一个任务,不过也有一个像 Struts 的 DispatchAction 的那样 的 Conntroller, org.springframework.web.servlet.mvc.multiaction.MultiActio nController,意即在一个 Controller

spring MVC中获取request和response

spring MVC中获取request和response: Java代码   HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();                   HttpServletResponse response = ((ServletRequestAttributes) RequestContextHol

Http请求中Content-Type讲解以及在Spring MVC中的应用

引言: 在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值,以及在Spring MVC中如何使用它们来映射请求信息. Content-Type MediaType,即是Internet Media Type,互联网媒体类型:也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息. [html] view pl

spring mvc中使用post方式请求返回405

问题描述 spring mvc中使用post方式请求返回405 后台处理方法 @RequestMapping(value=""/doLogin"" method=RequestMethod.POST) public ModelAndView doLogin(HttpSession session){ logger.info(""user login.""); session.setAttribute(""U