Spring ModelAttribute注解失效原因
public String test(@RequestParam(value = "test") @ModelAttribute("test") String plateId)
通过实验,RequestParam和ModelAttribute注解互斥,即添加了RequestParam注解会导致ModelAttribute注解不生效,
只能使用Thymeleaf的Param命名空间 进行访问了。。。。。
Thymeleaf官方文档:https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#web-context-namespaces-for-requestsession-attributes-etc.2021-9-9 更新
ModelAttribute注解的使用方式是 方法不存在 RequestMapping 注解 并且 方法上存在 ModelAttribute 注解。才会进行后续处理

ModelAttribute注解的过滤定位:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#MODEL_ATTRIBUTE_METHODS
处理ModelAttribute和其他InitBinder注解的主入口的一个位置
方法签名位置:org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#invokeHandlerMethod
org.springframework.web.method.annotation.ModelFactory#invokeModelAttributeMethods 这个方法签名就是处理 ModelAttribute注解的位置了
Spring ModelAttribute注解失效原因的更多相关文章
- Spring aop注解失效
问题 在spring 中使用 @Transactional . @Cacheable 或 自定义 AOP 注解时,对象内部方法中调用该对象的其他使用aop机制的方法会失效. @Transactiona ...
- spring事务注解失效问题
问题描述: 由于工作需要,需要在spring中配置两个数据源,有一天突然发现@Transactional注解失效 环境框架: springmvc+spring+spring jdbcTemplate ...
- spring mvc 自动扫描注解失效原因
关于spring自动扫描,在控制层,采用注解配置@Controller,项目能够成功启动,且无任何报错.但是 在进行页面跳转时,并未进行相应的拦截,整个界面只能在默认界面 ,跳转报404,由于楼主初次 ...
- spring @ModelAttribute 注解
@ModelAttribute // 表示请求该类的每个Action前都会首先执行它,也可以将一些准备数据的操作放置在该方法里面. public void setReqAndRes(HttpServl ...
- spring不走注解的原因
在配置文件中没有扫描配置注解的类,导致自定义的注解无法被识别,所以不会走,检查配置文件,修改即可
- Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效)
Spring的Bean内部方法调用无法使用AOP切面(CacheAble注解失效) 前言 今天在使用Spring cache的Cacheable注解的过程中遇见了一个Cacheable注解失效的问题, ...
- 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
参考原贴地址:https://blog.csdn.net/clementad/article/details/47339519 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Trans ...
- 【转】在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解失效的原因和解决方法
参考 原文链接 @Transactional does not work on method level 描述 在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational) ...
- @Transational)的方法,注解失效的原因和解决方法
在同一个类中,一个方法调用另外一个有注解(比如@Async,@Transational)的方法,注解是不会生效的. 比如,下面代码例子中,有两方法,一个有@Transational注解,一个没有.如果 ...
随机推荐
- CVE-2017-0213漏洞复现
CVE-2017-0213漏洞形成的原因 类型混淆的漏洞通常可以通过内存损坏的方式来进行利用.然而漏洞发现者在利用时,并未采用内存损坏的方式来进行漏洞利用.按照漏洞发现者的说法,内存损坏的利用方式需要 ...
- base家族在线解密工具
http://www.atoolbox.net/Tool.php?Id=934 https://ctf.bugku.com/tools
- scrapy爬取youtube游戏模块
本次使用mac进行爬虫 mac爬虫安装过程中出现诸多问题 避免日后踩坑这里先进行记录 首先要下载xcode ,所以要更新macOS到10.14.xx版本 更新完之后因为等下要进行环境路径配置 但是ma ...
- 教你快速区分传统报表和商业智能BI
很多人分不清楚,传统报表和商业智能BI之间的区别?有些人认为,BI就是做报表的,其实不然,报表只是BI的一部分,报表是关于过去和现状的展示,而BI是关于如何通过分析数据,帮助决策者找到改变和提高的方案 ...
- 在服务器的docker里 装anacond3深度学习环境的全流程超基础
背景: 实验室给我分配了一个服务器 已经装好了docker 和nvidi docker . 现在我的目标是创建我自己的docker 然后在我自己的docker里装上anaconda环境. 我以前从 ...
- 【C# .Net GC】清除非托管类型(Finalize终结器、dispose模式以及safeHandler)
总结 1.一般要获取一个内核对象的引用,最好用SafeHandle来引用它,这个类可以帮你管理引用计数,而且用它引用内核对象,代码更健壮 2.托管中生成并引用非托管,一但非托管和托管中的引用断开(托管 ...
- 【C#反射】Assembly
Assembly属性的应用 //获取当前执行代码的程序集 Assembly assem = Assembly.GetExecutingAssembly(); Console.WriteLine($&q ...
- C#中的泛型 / 泛型类 / 数组、ArrayList和List三者的区别
在C#中数组,ArrayList,List都能够存储一组对象,那么这三者到底有什么样的区别呢. 数组 数组在C#中最早出现的.在内存中是连续存储的,所以它的索引速度非常快,而且赋值与修改元素也很简单. ...
- -bash: ./1.sh: /bin/bash^M: bad interpreter: No such file or directory
1.开始以为是sh路径问题,用which查看是正确的. 2.用vim打开文件:vi 文件名. 3.按':'号键,输入查看文件的格式命令set ff或set fileformat. 4.可以看到格式是D ...
- Pycharm:使用Edit Custom VM Options导致Pycharm无法启动
解决办法: Edit Custom VM Options用来扩大内存,但是内存设置不当可能会导致Pycharm无法启动 如果无法启动,可以在我的文档中的pycharm201X.X(日期不同名字也不同) ...