最近由于项目需要,发现spring mvc在绑定参数时有这么一个缺陷。

Url: http://localhost:8080/api/test?user_name=testUser

Controller:

@Controller
@RequestMapping("/api")
public class ApiController extends BaseController {@RequestMapping(value = "/test", headers = "Accept=application/json")public void authUser(ModelMap modelMap, Account acc) {ResultPack.packOk(modelMap);}
}public class Account{private static final long serialVersionUID = 750752375611621980L;private long id;private String userName;private String password;private AccountType type = AccountType.ADMIN;private long timeTag;private int status = 1;......
}

user_name无法映射到acc的userName上。如果使用json的方式,可以使用JsonProperty注解来解决。否则,spring貌似没提供解决方案。

于是追踪了一下spring mvc的源代码,发现可以通过重写ServletModelAttributeMethodProcessor来支持这个功能。

原文出处:后端技术杂谈
原文链接
转载请与作者联系,同时请务必标明文章原始出处和原文链接及本声明。

关于SpringMVC中model的attribute无法指定别名的解决方案相关推荐

  1. springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序

    spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void.下面将对具体的一一进行说明: ModelAn ...

  2. spring学习之springMVC 返回类型选择 以及 SpringMVC中model,modelMap.request,session取值顺序...

    spring mvc处理方法支持如下的返回方式:ModelAndView, Model, ModelMap, Map,View, String, void.下面将对具体的一一进行说明:ModelAnd ...

  3. springmvc中Model的理解

    spring的Model相当于前端的一个数据库,就好比后端中的user实体类所对应的数据库User,从Model中获取数据比从后端的User实体类中获取数据更加方便. 如下图是一个简单的实例,简单展示 ...

  4. jst获取不到springmvc中model数据

    才发现犯了一个平时不会注意的错误 我是用maven自动生成的web.xml文件 如下: <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, I ...

  5. java中的model_Java程序员必看之springmvc中的Model对象在重定向中的数据

    原标题:Java程序员必看之springmvc中的Model对象在重定向中的数据 在springmvc框架中,一个handler方法中的参数可以内置接收Model类型的对象,主要用于存储数据之用,主要 ...

  6. 前端js获取SpringMvc后台model中传值

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 使用 SpringBoot +SpringMVC +thymeleaf 组合实现的功能,期望在 thymeleaf 中的html中的j ...

  7. django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation

    django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation ...

  8. Spring中Model、ModelMap、ModelAndView理解和具体使用总结

    在了解这三者之前,需要知道一点:SpringMVC在调用方法前会创建一个隐含的数据模型,作为模型数据的存储容器, 成为"隐含模型". 也就是说在每一次的前后台请求的时候会随带这一个 ...

  9. SpringMVC中,前台jsp封装参数,绑定参数,传递参数到后台controller的过程详解

    前台到后台的流程:前台jsp->后台:controller控制器层->service业务层->DAO数据访问层->数据库model模型层. 从上面流程可知,前台jsp的数据,想 ...

最新文章

  1. 微软IE8浏览器个性化设置技巧
  2. AB1601低功耗之IIC和PWM控制注意事项
  3. usb host控制devie进入suspend模式
  4. python 返回列表中的偶数
  5. Android 市场的未来
  6. 多视几何_计算一副图像上的点在另一福图像上的对应点
  7. visio防火墙可以连接什么_分享一款网工必备网络拓扑图绘制工具Visio以及大量厂商图标库...
  8. python源码打包成exe、exe反编译、pyd加密防止反编译
  9. 为何AD快捷键不起作用
  10. oracle 币种符号,Oracle用户密码使用特殊符号,例如(AND)、$(Dollar)、#(Pound)、*(Star)等...
  11. 计算机笔记Excel,秦路天善智能EXCEL学习笔记1-文本清洗函数
  12. 一只公鸡5块钱,一只母鸡3块钱,3只小鸡一块钱,一个农夫用100块钱买100只鸡(不许解方程),怎么实现?编写java程序。...
  13. Android StepsView 步骤控件
  14. 7.25 10figting!
  15. 中职计算机应用专业核心素养的,基于核心素养的中职计算机应用专业“课程革命”...
  16. 系统学习------IPtables包过滤防火墙
  17. 每日算法题(Day16)----动物园
  18. 为什么祖传代码会被称为屎山
  19. 170亿参数,28项公开测试集SOTA,行业最大的视觉多任务统一大模型来了
  20. wps打开文件提示被锁定怎么办

热门文章

  1. 进阶16 网络编程入门
  2. mysql多表关联update
  3. 浅析局域网与广域网中数据传输
  4. elasticsearch java 分页查询_elasticsearch深度分页问题
  5. oracle取字段第三位字符,oracle截取字符串(截取某个字符前面的字符串)
  6. neo4j 查询同一节点的两个上级_链表的魅力:两个单向链表的第一个交点
  7. csgo躲猫猫模式显示服务器已满,csgo躲猫猫攻略大全
  8. Liist Object ? 获取方式
  9. android多版本打包,Android的持续化集成及多版本打包
  10. python html模板_Tempy-纯Python语法的HTML模板库