首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java.lang.IllegalStateException: BindingResult和bean名称'versetmonth‘的普通目标对象都不能用作请求属性

java.lang.IllegalStateException是Java编程语言中的一个异常类,表示当前的状态不合法。在这个特定的异常中,它指出了BindingResult和bean名称'versetmonth'的普通目标对象都不能用作请求属性。

在Spring MVC框架中,BindingResult是用于验证表单数据的结果对象。它通常与@ModelAttribute注解一起使用,用于捕获表单数据绑定和验证过程中的错误。如果在处理请求时,BindingResult对象或与之关联的目标对象的名称不正确或不可用,就会抛出java.lang.IllegalStateException异常。

解决这个异常的方法是确保BindingResult对象和bean名称'versetmonth'的目标对象都正确地用作请求属性。可以检查以下几个方面:

  1. 确保在处理请求时,BindingResult对象的名称与在表单中使用的名称一致。可以通过在处理方法中使用@ModelAttribute注解来指定名称,例如:@ModelAttribute("versetmonth")。
  2. 确保在处理请求时,与BindingResult对象关联的目标对象的名称与在表单中使用的名称一致。可以通过在处理方法中使用@ModelAttribute注解来指定名称,例如:@ModelAttribute("versetmonth")。
  3. 确保在处理请求时,BindingResult对象和目标对象都正确地传递给视图层。可以使用ModelAndView对象将它们添加到模型中,例如:modelAndView.addObject("versetmonth", targetObject)和modelAndView.addObject("bindingResult", bindingResult)。

需要注意的是,以上解决方法是基于Spring MVC框架的,如果使用其他框架或技术栈,可能会有不同的解决方法。

推荐的腾讯云相关产品和产品介绍链接地址:

  • 腾讯云云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云云原生容器服务(TKE):https://cloud.tencent.com/product/tke
  • 腾讯云云数据库MySQL版(TencentDB for MySQL):https://cloud.tencent.com/product/cdb_mysql
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云物联网(IoT):https://cloud.tencent.com/product/iotexplorer
  • 腾讯云移动开发(移动推送):https://cloud.tencent.com/product/umeng
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云区块链服务(BCS):https://cloud.tencent.com/product/bcs
  • 腾讯云虚拟专用网络(VPC):https://cloud.tencent.com/product/vpc
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

springboot源码解析之自定义参数解析

因为不管是get请求还是post请求,传给后端都是key-value对,json对象是一个整体 person = Person(name=null, age=null, pet=null) 参数解析流程...(这里就是Person) 创建数据绑定器,数据绑定器里面封装了刚刚创建对象Person,还有参数名称person,以及请求(WebDataBinder binder = binderFactory.createBinder...= ex.getBindingResult(); } } if (bindingResult == null) { // Bean property binding and validation...中重要属性说明 target:要绑定目标对象(传给方法参数对象),也就是代码里面的attribute,这里就是Person对象 objectName:参数名称 conversionService...MutablePropertyValues mpvs) { checkAllowedFields(mpvs); checkRequiredFields(mpvs); // 应用属性属性

5410

学习SpringMVC——你们要REST风格CRUD来了

message java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name...这是为什么呢,因为表单在显示时候会做一个检查,如果表单字段在requestbean中不能一一对应,就会无法显示并报错,说白了就是这里加上了employee这个bean后,这个对象各个属性如email...可以使集合中bean一个属性值     itemLabel:radiolabel值 3....一般WEB应用服务器默认Servlet名称都是default,若所使用WEB服务器默认Serlvet名称不是default,则需要通过default-servlet-name属性显示指定。   ...引入JQuery改变请求方式   6. 明白了Request中bean必须要和请求表单中属性对应   如果您觉得阅读本文对您有帮助,请点一下“推荐”按钮,您“推荐”将是我最大写作动力!

1.1K100

编写Spring MVC控制器14个技巧

然后,控制器调用业务类来处理与业务相关任务,然后将客户端重定向到逻辑视图名称,该名称由Spring调度程序Servlet解析,以呈现结果或输出。这样就完成了典型请求-响应周期往返。...如果参数名称与变量名称不同,则可以如下指定参数实际名称: @RequestParam("SSN") int securityNumber 该@RequestParam 注解也有两个额外属性,这可能是在某些情况下是有用...在上面的示例中,country 如果请求中不存在此类参数,则变量 将为null。 另一个属性是 defaultValue,可以在请求参数为空时用作后备值。...UserList User 对象一个可在视图中使用对象集合 。...10.处理表格提交表格验证 通过提供@ModelAttribute 用于将表单字段绑定到表单支持对象注解以及BindingResult 用于验证表单字段界面,Spring使处理表单提交变得容易。

1.1K30

Spring MVC14个实用技巧,get一下!

然后,控制器调用业务类来处理与业务相关任务,然后将客户端重定向到逻辑视图名称,该名称由Spring调度程序Servlet解析,以呈现结果或输出。 这样就完成了典型请求-响应周期往返。...如果参数名称与变量名称不同,则可以如下指定参数实际名称: @RequestParam("SSN") int securityNumber 该@RequestParam 注解也有两个额外属性,这可能是在某些情况下是有用...在上面的示例中,country 如果请求中不存在此类参数,则变量 将为null。 另一个属性是 defaultValue,可以在请求参数为空时用作后备值。...UserList User 对象一个可在视图中使用对象集合 。...10 处理表格提交表格验证 通过提供@ModelAttribute 用于将表单字段绑定到表单支持对象注解以及BindingResult 用于验证表单字段界面,Spring使处理表单提交变得容易。

98820

spring常用注解

应用: @RequestBody注解实现接收http请求json数据,将json数据转换为java对象 图片 5 @ResponseBody 作用:该注解用于将Controller方法返回对象...;defaultValue:默认值,表示如果请求中没有同名参数时默认值 图片 形参名称时items_id,但是这里使用是value=”id”,限定请求参数名是id 7 @Validated... ,@component泛指组件,当组件不好归类时候,我们可以使用这个注解进行标注 11 @Scope spring中beanscope属性,有如下5种类型...: singleton 表示在spring容器中单例,通过spring容器获得该bean时总是返回唯一实例 prototype表示每次获得bean都会生成一个新对象 request表示在一次http...,通过这个标示,表明了哪个实现类才是我们所需要,添加@Qualifier注解,需要注意是@Qualifier参数名称为我们之前定义@Service注解名称之一。

71520

Spring MVC框架:第十三章:类型转换

SpringMVC将“把请求参数注入到POJO对象”这个操作称为“数据绑定”。 数据类型转换格式化就发生在数据绑定过程中。...类型转换格式化是密不可分两个过程,很多带格式数据必须明确指定格式之后才可以进行类型转换。 最典型就是日期类型。...SpringMVC在捕获到类型转换失败错误时会将相关信息封装到BindingResult对象传入到目标handler方法中。...[3]使用form:errors标签,通过path属性指定要显示错误消息属性名 在页面上结合SpringMVC表单标签显示错误消息 <form:form modelAttribute="employee...<em>属性</em>中配置自定义类型转换器<em>的</em>全类名 <<em>bean</em> id="conversionServiceFactoryBean" class="org.springframework.format.support.FormattingConversionServiceFactoryBean

19540

springspringboot常用注解_Java常用注解

用于控制bean加载顺序 13、@PostConstruct bean属性都注入完毕后,执行注解标注方式进行初始化工作 14、@Autowired 默认按类型装配,如果我们想使用按名称装配,可以结合...在model中存在以后,请求中所有名称匹配参数都会填充到该参数中。这在Spring MVC中被称为数据绑定,一个非常有用特性,节约了你每次都需要手动从表格数据中转换这些字段数据时间。...② BindingResult 配合使用 使用 @ModelAttribute 进行数据绑定之后,可以使用 BindingResult 来返回数据验证结果。...或者自定义校验器来返回 BindingResult 对象来进行校验。你可以通过Spring 表单标签来在同一个表单上显示错误信息。...@basic注解有两个属性: fetch用来指定属性加载机制 有两个选项:EAGER(即时加载,默认值)LAZY(懒加载),即时加载意味着当实例化对象时候必须加载该属性值,懒加载是指当实例化对象时不加载该对象

69420

Spring MVC-07循序渐进之验证器 上 (Spring自带验证框架)

validate方法会验证目标对象,并将验证错误填入Errors对象 Errors对象是org.springframework.validation.Errors接口一个实例,包含了一系列FieldError...ObjectError对象 编写验证器,不需要直接创建Error对象,因为实例化ObjectError或者FieldError。...大多数时候,只给reject或者rejectValue方法传入一个错误码,Spring就会在属性文件中查找错误码没回去相应错误消息, 还可以传入一个默认消息,当没有找到指定错误码时,就会使用默认消息...,它validate方法校验Product方法是否有名称价格,且价格不能为负数,它还会确保生产日期不能晚于今天日期。...---- 源文件 验证器不需要显式注册,但是如果想从某个属性文件中获取错误消息,则需要通过声明messageSourceBean,告诉Spring去哪里查找这个文件 完整SpringMVC配置文件如下

57220

分享 14 个 Spring MVC 顶级技巧!

然后,控制器调用业务类来处理与业务相关任务,然后将客户端重定向到逻辑视图名称,该名称由Spring调度程序Servlet解析,以呈现结果或输出。 这样就完成了典型请求-响应周期往返。...如果参数名称与变量名称不同,则可以如下指定参数实际名称: @RequestParam("SSN") int securityNumber 该@RequestParam 注解也有两个额外属性,这可能是在某些情况下是有用...在上面的示例中,country 如果请求中不存在此类参数,则变量 将为null。 另一个属性是 defaultValue,可以在请求参数为空时用作后备值。...UserList User 对象一个可在视图中使用对象集合 。...10.处理表格提交表格验证 通过提供@ModelAttribute 用于将表单字段绑定到表单支持对象注解以及BindingResult 用于验证表单字段界面,Spring使处理表单提交变得容易。

98961

springboot validation参数校验

Bean Validation 为 JavaBean 验证定义了相应元数据模型 API。缺省元数据是 Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖扩展。...在运行时,Bean Validation 框架本身会根据被注释元素类型来选择合适 constraint validator 对数据进行验证 BindingResult必须跟在被校验参数之后,若被校验参数之后没有...BindingResult对象,将会抛出BindException 不要使用 BindingResult 接收String等简单对象错误信息(也没有特别的错,只是 result 是接不到值。)。...SpringMVC 在进行方法参数注入(将 Http请求参数封装成方法所需参数)时,不同对象使用不同解析器注入对象。...而正是这个差异导致了BindingResult无法接受到简单对象(简单入参参数类型)校验信息。

3.7K41

springboot使用hibernate validator校验

Hibernate Validator有以下两种验证模式: 1、普通模式(默认是这个模式)   普通模式(会校验完所有的属性,然后返回所有的验证失败信息) 2、快速失败返回模式   快速失败返回模式(只要有一个验证失败...如demo里示例,验证请求参数时,在@RequestBody DemoModel demo之间加注解 @Valid,然后后面加BindindResult即可;多个参数,可以加多个@ValidBindingResult...如下所示: a.此时需要使用MethodValidationPostProcessor Bean: @Bean public MethodValidationPostProcessor...对象内部包含另一个对象作为属性属性上加@Valid,可以验证作为属性对象内部验证:(验证Demo2示例时,可以验证Demo2字段) @Data public class Demo2 {...设置validator为普通验证模式("hibernate.validator.fail_fast", "false"),用到验证GroupA、GroupBmodel: GroupA、GroupB:

5.6K50

Spring MVC 学习总结(五)——校验与文件上传

Calendar 对象是否在当前时间之前  @Future     验证 Date Calendar 对象是否在当前时间之后  2.2.5、正则 @Pattern    验证 String 对象是否符合正则表达式规则...String 对象是否大等于指定值  @Max            验证 Number String 对象是否小等于指定值  @DecimalMax 被标注值必须不大于约束中指定最大值....—6radio、checkbox、select验证 示例下载 注意:validate只是使验证变得方便,简单,本质还是使用js,不论多么强大js验证,当用户把js禁用或使用机器直接发起请求都不能确保数据完整性..."> 定义了一个标准文件上传解析器,更多属性可以查看这个类源码。...HTML5新增加属性,一些旧版浏览器可能不支持,使用JavaScript可以处理一下。

98310

SpringMVC03之拦截器JSR303

SpringMVC中使用JSR303进行服务器端验证         3.1 添加相关依赖         3.2 给校验对象指定属性添加校验规则         3.3 在请求处理方法中,使用@Validated...方法 作用:用于对拦截到请求进行后处理,可以在方法中对模型数据视图进行修改 执行时机:在处理器方法执行后,视图渲染之前 方法参数:     1)request请求对象     2)response...响应对象     3)handler拦截到处理器方法     4)ModelAndView处理器方法返回模型视图对象,可以在方法中修改模型视图 afterCompletion方法 作用...JSR303数据校验 JSR303是Java为Bean数据合法性校验提供给标准框架,已经包含在 JavaEE6.0中、JSR303通过在Bean 属性中标注类似 @NotNull @Max 等标准注解指定校验规则...*" /> 显示表单所有错误 显示所有以user为前缀属性对应错误 显示特定表单对象属性错误

41010

Hibernate Validator校验

输出结果 出生日期格式不正确 必须为false 年龄不正确 3. hibernate校验模式 ---- 1. 普通模式(默认为该模式) 会校验所有属性,然后返回所有的验证失败信息。 2.... BindindResult。...对象级联校验 对象内部包含另一个对象作为属性属性上加 @Valid,可以验证作为属性对象内部验证 5. 分组校验 5. 自定义校验器 ---- 1....地址 12 @Past 检查该字段日期是否属于过去日期 13 @Future 检查该字段日期是否属于将来日期 14 @Length(min=,max=) 检查该字段长度是否在minmax之间...Valid 该注解只要用于字段为一个包含其他对象集合或map或数组字段,或该字段直接为一个其他对象引用(这样在检查当前对象同时也会检查该字段所引用对象) 7.

80910

JSR303校验+统一异常处理细节+同一字段多个校验注解结果如何处理

JSR303 1)、导入 javax.validation、hibernate-validator依赖,尤其是第二个,在springboot应用中使用校验,必须导入 2)、给Bean字段添加校验注解:...javax.validation.constraints,并定义自己message提示 @NotNull: CharSequence, Collection, Map Array 对象不能是 null...@NotEmpty: CharSequence, Collection, Map Array 对象不能是 null 并且相关对象 size 大于 0。...@NotBlank: String 不是 null 且 至少包含一个字符 3)、开启校验功能 使用@Valid 效果:校验错误以后会有默认响应; 4)、给校验bean后紧跟一个BindingResult...java.lang.IllegalStateException: Duplicate key 用户名长度为4-20字符 DuplicateKey一般是两个相同键出现,比如你在数据库插入两条id字段相同记录

1.7K30

Spring 基础知识面试

只有将 bean 用作另一个 bean 属性时,才能将 bean 声明为内部 bean。...byName - 它根据 bean 名称注入对象依赖项。它匹配并装配其属性与 XML 文件中由相同名称定义 bean。 byType - 它根据类型注入对象依赖项。...如果属性类型与 XML 文件中一个 bean 名称匹配,则匹配并装配属性。 构造函数 - 它通过调用类构造函数来注入依赖项。它有大量参数。...此注解用于在 setter 方法,构造函数,具有任意名称或多个参数属性或方法上自动装配 bean。 17. @Qualifier 注解有什么用?...将 Advice 应用于目标对象后创建对象称为代理。在客户端对象情况下,目标对象代理对象是相同。 Advice + Target Object = Proxy 28.

87010

14个Spring MVC超实用技巧!

这是将控制器HttpServletRequest 与Servlet API 接口分离好方法。 Spring将方法参数用户名密码绑定到具有相同名称HTTP请求参数。...如果参数名称与变量名称不同,则可以如下指定参数实际名称: 该@RequestParam 注解也有两个额外属性,这可能是在某些情况下是有用。该属性指定参数是否为必需。...另一个属性是 defaultValue,可以在请求参数为空时用作后备值。...考虑以下处理程序方法: 如您所见,此处理程序方法返回一个 ModelAndView 保存视图名称 UserList User 对象一个可在视图中使用对象集合 。...10.处理表格提交表格验证 通过提供@ModelAttribute 用于将表单字段绑定到表单支持对象注解以及BindingResult 用于验证表单字段界面,Spring使处理表单提交变得容易。

1K10

JSR303校验+统一异常处理细节+同一字段多个校验注解结果如何处理

JSR303 1)、导入 javax.validation、hibernate-validator依赖,尤其是第二个,在springboot应用中使用校验,必须导入 2)、给Bean字段添加校验注解:...javax.validation.constraints,并定义自己message提示 @NotNull: CharSequence, Collection, Map Array 对象不能是 null...@NotEmpty: CharSequence, Collection, Map Array 对象不能是 null 并且相关对象 size 大于 0。...@NotBlank: String 不是 null 且 至少包含一个字符 3)、开启校验功能 使用@Valid 效果:校验错误以后会有默认响应; 4)、给校验bean后紧跟一个BindingResult...java.lang.IllegalStateException: Duplicate key 用户名长度为4-20字符 DuplicateKey一般是两个相同键出现,比如你在数据库插入两条id字段相同记录

1.3K10
领券