加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

spring mvc 表单多对象提交(适用于复杂对象)

(2015-05-27 11:58:43)
分类: java学习

简单对象,如果没有属性重复可以直接提交,在controller里的接收方法里面只需要添加相应的对象接口。对于复杂一些的对象提交,可以用下面方法:

controller端直接使用注解声明

Java代码  http://lee1177.iteye.com/images/icon_star.pngmvc 表单多对象提交(适用于复杂对象)" />
  1. @Controller  
  2. @RequestMapping("/demo/formbean" 
  3. public class FormBeanController  
  4.     @Autowired  
  5.     private FormBeanService formBeanService;  
  6.   
  7.     @InitBinder("formBean1" 
  8.     public void initBinderFormBean1(WebDataBinder binder)    
  9.         binder.setFieldDefaultPrefix("formBean1.");    
  10.      
  11.     @InitBinder("formBean2" 
  12.     public void initBinderFormBean2(WebDataBinder binder)    
  13.         binder.setFieldDefaultPrefix("formBean2.");    
  14.      
  15.     @RequestMapping("/save12" 
  16.     @ResponseBody  
  17.     public ModelAndView save12(FormBean1 formBean1, FormBean2 formBean2){  
  18.         formBean2 formBeanService.saveFromBean12(formBean1, formBean2);  
  19.         ModelAndView mav new ModelAndView();  
  20.         mav.setViewName("redirect:/demo/formbean/edit12/"+formBean2.getId());  
  21.         return mav;  
  22.      
  23.       
  24.  

 html方式相差不大

Html代码  http://lee1177.iteye.com/images/icon_star.pngmvc 表单多对象提交(适用于复杂对象)" />
  1. <</span>form class="form-horizontal" id="formBean1Form" method="post">  
  2.       <</span>div class="control-group">  
  3.         <</span>label class="control-label" for="code">FB1编号</</span>label>  
  4.         <</span>div class="controls">  
  5.           <</span>input type="hidden" id="formBean1.id" name="formBean1.id" value="${formBean2.formBean1.id }" />  
  6.           <</span>input type="text" id="formBean1.code" name="formBean1.code" value="${formBean2.formBean1.code }" />  
  7.         </</span>div>  
  8.       </</span>div>  
  9.       <</span>div class="control-group">  
  10.         <</span>label class="control-label" for="name">FB1名称</</span>label>  
  11.         <</span>div class="controls">  
  12.           <</span>input type="text" id="formBean1.name" name="formBean1.name" value="${formBean2.formBean1.name }" >  
  13.         </</span>div>  
  14.       </</span>div>  
  15.       <</span>div class="control-group">  
  16.         <</span>label class="control-label" for="name">FB2编号</</span>label>  
  17.         <</span>div class="controls">  
  18.           <</span>input type="hidden" id="formBean2.id" name="formBean2.id" value="${formBean2.id }" />  
  19.           <</span>input type="text" id="formBean2.code" name="formBean2.code" value="${formBean2.code }" >  
  20.         </</span>div>  
  21.       </</span>div>  
  22.       <</span>div class="control-group">  
  23.         <</span>label class="control-label" for="name">FB2名称</</span>label>  
  24.         <</span>div class="controls">  
  25.           <</span>input type="text" id="formBean2.name" name="formBean2.name" value="${formBean2.name }" >  
  26.         </</span>div>  
  27.       </</span>div>  
  28.       <</span>div class="control-group">  
  29.         <</span>div class="controls">  
  30.           <</span>button type="submit" class="btn" onclick="this.form.action='${ctx}/demo/formbean/save12'">提交</</span>button>  
  31.         </</span>div>  
  32.       </</span>div>  
  33.     </</span>form>  

 官方方法是用性更强,对于复杂情况如集合多级嵌套对象等处理完美,计较推荐。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有