springController:

  1. @Controller
  2. @RequestMapping("/user")
  3. public UserController extends BaseController{
  4. @RequestMapping("/addUser")
  5. public void testBinderOuput(@ModelAttribute User user, HttpServletRequest request, HttpServletResponse response){
  6. System.out.println(user);
  7. }
  8. }

Use对象:

  1. public Class User{
  2. private String name;
  3. private int sex;
  4. private String address;
  5. private int id;
  6. public int getSex() {
  7. return sex;
  8. }
  9. public void setSex(int sex) {
  10. this.sex = sex;
  11. }
  12. public String getAddress() {
  13. return address;
  14. }
  15. public void setAddress(String address) {
  16. this.address = address;
  17. }
  18. public int getId() {
  19. return id;
  20. }
  21. public void setId(int id) {
  22. this.id = id;
  23. }
  24. public void setName(String name) {
  25. this.name = name;
  26. }
  27. }

请求路径:
localhost/user/addUser?user.name="test"
那么在后台接受到的参数中,user对象的name属性是null。如果路径换为localhost/user/addUser?name="test",则user对象的name属性是test。
这里必须用name="test"而不是user.name="test",因为默认情况下springMVC是不支持user.name这种传参方式的。

如果有个对象manager中也有name这个相同的属性,那么可以采用user.name,manager.name来传输参数。但是这个需要在controller中添加一个前缀绑定:

添加绑定前缀后的controller类如下:

  1. @Controller
  2. @RequestMapping("/user")
  3. public UserController extends BaseController{
  4. @InitBinder("manager")
  5. public void initBinder1(WebDataBinder binder) {
  6. binder.setFieldDefaultPrefix("manager.");
  7. }
  8. @InitBinder("user")
  9. public void initBinder2(WebDataBinder binder) {
  10. binder.setFieldDefaultPrefix("user.");
  11. }
  12. @RequestMapping("/addUser")
  13. public void testBinderOuput(@ModelAttribute User user, HttpServletRequest request, HttpServletResponse response){
  14. System.out.println(user.getName);
  15. }
  16. @RequestMapping("/addManager")
  17. public void testBinderOuput(@ModelAttribute Manager manager, HttpServletRequest request, HttpServletResponse response){
  18. System.out.println(manager.getName);
  19. }
  20. }

这样在使用连接localhost/user/addUser?user.name="test",去请求时,后台拿到的name的参数就不为null了。

有个专门讨论这个问题的主题:http://www.iteye.com/topic/1124433?page=2可以参考下

springMVC传对象参数的更多相关文章

  1. springMVC传对象参数、返回JSON格式数据

    假如请求路径:http://localhost/test/test.do?user.id=1 后台接收参数的方法如下: @RequestMapping("/test") publi ...

  2. 微信小程序 navigateTo 传对象参数

    当微信小程序navigateTo传入参数是个object时,请使用JSON.strtingify将object转化为字符串,代码如下: wx.navigateTo({ url: '../sendChe ...

  3. springMVC传递对象参数

    初学java,由于项目紧急,来不及仔细的研究,在传递参数时就老老实实的一个一个的采用@RequestParam注解方式传递,最近认真看了一下,发现java也具有类似Asp.net Mvc传递对象做参数 ...

  4. 经过测试,feign只能通过@RequestBody传对象参数

    通过feign调用,使用ModelAttribute 注解,参数没法传到对应的server

  5. 微信小程序页面跳转url如何传对象参数

    两步走 首先第一步:wx.navigateTo({ url:"XXX"+"&params="+ JSON.stringify(obj); }) 第二步获 ...

  6. 如何用javascript 的eval动态执行一个需要传对象参数的函数

    代码如下: var method = 'setRiskItemAmount_'+id[1]+'(id[0],id[2],this.value);'; console.log(method); eval ...

  7. 关于springMVC 传递 对象参数的问题

    1.前端请求必须是 post 2.前端数据data必须做 json字符串处理  JSON.stringify(data) 3. contentType: 'application/json', 4.@ ...

  8. js 字符中 带 函数 再传对象参数

    不替换 ( .replace(/\"/g, "\\\"") )则会有错误: Uncaught SyntaxError: missing ) after argu ...

  9. jsp取addFlashAttribute值深入理解即springMVC发redirect传隐藏参数

    结论:两种方式 a.如果没有进行action转发,在页面中el需要${sessionScope['org.springframework.web.servlet.support.SessionFlas ...

随机推荐

  1. Linux IO 监控与深入分析

    https://jaminzhang.github.io/os/Linux-IO-Monitoring-and-Deep-Analysis/ Linux IO 监控与深入分析 引言 接昨天电话面试,面 ...

  2. java实例三维空间求点之间的距离。。。。

    package com.b; public class Ponit { private double x; private double y; private double z; public Pon ...

  3. StringBuilder与StringBuffer的区别

    相信大家看到过很多比较String和StringBuffer区别的文章,也明白这两者的区别,然而自从Java 5.0发布以后,我们的比较列表上将多出一个对象了,这就是StringBuilder类.St ...

  4. rpm --import /etc/pki/rpm-gpg/RPM* 有什么用?

      今天用yum安装软件,遇到了Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL问题,为了加深印象,特别搜索了RPM-GPG-K ...

  5. JavaScript之BON

    1.windows对象 全局作用域: 2.窗口关系及框架 如果页面包含框架,则每个框架都有自己的window对象,并且保存在iframes集合中,在iframe集合中,可以通过数值索引(从0开始,从左 ...

  6. MSComm 串口

    MSComm 串口 http://www.docin.com/p-761416611.html http://blog.sina.com.cn/s/blog_50cfd0fc0102v27p.html

  7. ASP.NET MVC 基于表达式的动态查询

    项目源码地址:https://gitee.com/zhengwei804/DynamicCustomSearch

  8. (java基础)抽象类加泛型的理解

    今天在群里问了个基础问题,挨喷了..这更加激起了我对知识的渴望.也在此铭记一下,将来有经验了要对刚入门的童鞋们严格点,简单的东西要自己看...唉,程序员何苦为难程序猿呢.. 接下来简单总结下这个万能的 ...

  9. 动画系统II

    [动画系统II] 1.动画混合(animation blending)是把某个时间点的两个或更多的输入姿势结合,产生骨骼的输出姿势.例如,通过混合负伤的及无负伤的步行动画,我们可以生成二者之间不同负伤 ...

  10. 【转】在SharePoint Server 2010中更改“我的网站”

    在安装SharePoint Server 2010的时候,创建的第一个站点是一个"NetBIOS名称"的网站,而这个时候,"我的网站"(或称"个人网站 ...