springMVC jsp传送两个不同对象给Controller
来源:互联网 发布:免费视频录像软件 编辑:程序博客网 时间:2024/06/05 04:25
最近学习springmvc,想从jsp传送两个java对象的数据给Controller自动装配,在网上查了好久都是List对象的传送,最后终于查到了多个java对象的传送。
这里以用户(User)与用户详细信息(UserDetail)的更新为例,更新用户信息时,同时传送User以及UserDetail。
UserDetail以User的id为主键以及外键:
User.java
@Componentpublic class User { private int id; private String name; private int age=0; //getter and setter}
UserDetail.java
@Componentpublic class UserDetail { private int id; private String sex; private String phone; private String address; //getter and setter}
关键方法:
UserController
@RequestMapping(value="/updateuser.action",method=RequestMethod.POST) public ModelAndView updateUser(User user,UserDetail userDetail){ System.out.println("================="+user.getId()+"================"); System.out.println("================="+user.getName()+"================"); System.out.println("================="+userDetail.getSex()+"================"); System.out.println("================="+userDetail.getPhone()+"================"); System.out.println("================="+userDetail.getAddress()+"================"); userService.updateUser(user,userDetail); } @InitBinder("user") public void userBinder(WebDataBinder webDataBinder){ webDataBinder.setFieldDefaultPrefix("user."); } @InitBinder("userDetail") public void userDetailBinder(WebDataBinder webDataBinder){ webDataBinder.setFieldDefaultPrefix("userDetail."); }
webDataBinder.setFieldDefaultPrefix(“user.”);来标明jsp中用user.id来传送参数,看清楚上面有“.”。
这里用@InitBinder来绑定参数,InitBinder里面的参数通过测试,好像是以类名称的驼峰式命名,我做了一下的实验:
- 我以@Compoment(“User”)来命名UserBean,但是@InitBinder的参数一样得为驼峰式的”user”才有效
- 我修改了updateUser方法中的参数名,把User user改为User users,结果还是得为驼峰式的”user”才能接收到值
jsp页面:
<div class="modal-body"> 编号:<input type="text" name="user.id" id="editId" readonly="true"/><br> 姓名:<input type="text" name="user.name" id="editName" /><br> 年龄:<input type="text" name="user.age" id="editAge" /><br> 性别:<input id="editSex" type="radio" name="userDetail.sex" value="男"/>男 <input id="editSex" type="radio" name="userDetail.sex" value="女"/>女<br> 电话:<input type="text" name="userDetail.phone" id="editPhone"/><br> 地址:<input type="text" name="userDetail.address" id="editAddress"/> </div>
结果:
=================15=================================大金=================================男=================================123456789=================================广州大学城================
阅读全文
1 0
- springMVC jsp传送两个不同对象给Controller
- spring mvc 中通过controller 传递对象给jsp,并且数据绑定,在修改值后回传对象给controller
- Flex给服务器端传送对象
- servlet传送数据给jsp页面
- Servlet传送对象给Applet使用
- Servlet传送对象给Applet使用
- Servlet传送对象给Applet使用
- axis web service传送 两个 对象数组
- springmvc 中controller与jsp传值
- springmvc 中controller与jsp传值
- springMVC项目,测试controller 方法的 jsp
- springmvc 中controller与jsp传值
- springmvc 中controller与jsp传值
- Springmvc controller获取不到jsp中的数据
- 两个不同模块中的jsp传值, 一个jsp页面中打开新的jsp页面, 新的jsp页面返回值给本jsp页面
- js获取springmvc的controller返回的数据,可以是对象,也可以处理成字符串返回给js
- springMVC 在controller中将参数封装对象
- springmvc controller 映射对象乱码问题
- mybatis 中in的使用
- pixhawk代码——磁偏角
- 签名后的MSI安装包第一次安装很慢规避方法
- Rocchio算法在推荐系统中的应用
- Cocos2dx-js cc.Class的实例化
- springMVC jsp传送两个不同对象给Controller
- css中盒子模型的理解
- Android消息机制底层分析
- 39. Combination Sum
- CSS基础(滑动门,雪碧图,网页布局)
- Gradle用户使用指南
- VC多选文件夹和文件控件出现的问题
- CSS学习笔记 -- day01 CSS简介、常见属性、基础选择器
- cfStar sky DP(前缀和)