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

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

JasperException是Java Web应用程序中的一个异常类,它通常与JSP页面的编译和渲染过程相关。在这个特定的异常信息中,java.lang.IllegalStateException表示发生了一个非法状态的异常,而具体的异常原因是BindingResult和bean名称'user'的普通目标对象都不能用作请求属性。

在解决这个异常之前,我们需要了解一些相关的概念和背景知识:

  1. BindingResult:BindingResult是Spring框架中的一个接口,用于封装数据绑定和验证结果。它通常与表单提交和数据校验相关联,用于处理表单数据的绑定和验证过程。
  2. Bean:在Java中,Bean是指符合特定规范的Java对象。它通常具有私有的属性、公共的getter和setter方法,以及无参数的构造函数。Bean可以用于封装数据、表示实体对象等。
  3. 请求属性:请求属性是指在HTTP请求中传递的数据,可以是表单数据、URL参数、请求头等。在Java Web应用程序中,可以通过请求对象(HttpServletRequest)来获取和设置请求属性。

根据异常信息,我们可以推测出可能存在以下问题和解决方案:

  1. BindingResult对象不能用作请求属性:BindingResult通常用于表单数据的绑定和验证,它不应该直接作为请求属性使用。解决方法是确保在JSP页面中没有将BindingResult对象作为请求属性传递或引用。
  2. bean名称'user'的普通目标对象不能用作请求属性:这可能意味着在JSP页面中尝试将名为'user'的普通目标对象作为请求属性使用,而不是作为表单数据的绑定目标。解决方法是检查JSP页面中与'user'相关的代码,确保正确使用该对象。

综上所述,为了解决JasperException异常,我们需要检查并修复JSP页面中与BindingResult和名为'user'的对象相关的代码。确保BindingResult对象不被用作请求属性,而是用于处理表单数据的绑定和验证。同时,确保名为'user'的对象被正确使用,不被错误地用作请求属性。

腾讯云提供了一系列与云计算相关的产品和服务,包括云服务器、云数据库、云存储等。具体推荐的产品和产品介绍链接地址可以根据实际需求和场景来确定,可以参考腾讯云官方文档或咨询腾讯云的技术支持团队。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

message java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name...: java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'command...这是为什么呢,因为表单在显示时候会做一个检查,如果表单字段在requestbean中不能一一对应,就会无法显示并报错,说白了就是这里加上了employee这个bean后,这个对象各个属性如email...一般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

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

分享 14 个 Spring MVC 顶级技巧!

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

98961

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

求求你别在用IF ELSE校验参数了

JSR 380——Bean Validation2.0——定义了用于实体方法验证元数据模型API,将数据校验逻辑通过注解形式封装在实体对象中。 ?...BindingResult 类型参数,用于获取校验结果(将校验结果封装在BingdingResult对象中,不会抛出异常) 注意:@Valid BindingResult 是一一对应,如果有多个...BindingResult,spring不会抛出异常,将校验结果封装在这个对象中 public String person(@Valid User user,BindingResult bindingResult...,属性上加 @Valid,可以验证作为属性对象内部验证 @Data public class User2 { @NotBlank(message = "姓名不能为空") private...比如一个User对象,新增时候不需要检验id(系统生成),修改时候需要检验id属性,要想复用Class,就可以使用Hibernate Validator分组。

1.9K10

Validator,就来这一篇吧

JSR 380——Bean Validation2.0——定义了用于实体方法验证元数据模型API,将数据校验逻辑通过注解形式封装在实体对象中。 ?...BindingResult 类型参数,用于获取校验结果(将校验结果封装在BingdingResult对象中,不会抛出异常) 注意:@Valid BindingResult 是一一对应,如果有多个...BindingResult,spring不会抛出异常,将校验结果封装在这个对象中 public String person(@Valid User user,BindingResult bindingResult...,属性上加 @Valid,可以验证作为属性对象内部验证 @Data public class User2 { @NotBlank(message = "姓名不能为空") private...比如一个User对象,新增时候不需要检验id(系统生成),修改时候需要检验id属性,要想复用Class,就可以使用Hibernate Validator分组。

2.5K10

求求你别在用IF ELSE校验参数了

JSR 380——Bean Validation2.0——定义了用于实体方法验证元数据模型API,将数据校验逻辑通过注解形式封装在实体对象中。 ?...BindingResult 类型参数,用于获取校验结果(将校验结果封装在BingdingResult对象中,不会抛出异常) 注意:@Valid BindingResult 是一一对应,如果有多个...BindingResult,spring不会抛出异常,将校验结果封装在这个对象中 public String person(@Valid User user,BindingResult bindingResult...,属性上加 @Valid,可以验证作为属性对象内部验证 @Data public class User2 { @NotBlank(message = "姓名不能为空") private...比如一个User对象,新增时候不需要检验id(系统生成),修改时候需要检验id属性,要想复用Class,就可以使用Hibernate Validator分组。

1.7K20

Spring Boot 使用 JSR303 实现参数验证

Bean Validation 为 JavaBean 验证定义了相应元数据模型 API。缺省元数据是 Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖扩展。...Bean前添加 @Valid 开启校验功能,紧跟在校验Bean后添加一个BindingResultBindingResult封装了前面Bean校验结果。...payload 属性, Bean Validation API 使用者可以通过此属性来给约束条件指定严重级别. 这个属性并不被API自身所使用。...除了这三个强制性要求属性(message, groups payload) 之外, 我们还添 加了一个属性用来指定所要求值....此属性名称vals在annotation定义中比较特 殊, 如果只有这个属性被赋值了的话, 那么, 在使用此annotation到时候可以忽略此属性名称.

75040

Spring Boot 使用 JSR303 实现参数验证

为了避免这样情况发生,最好是将验证逻辑与相应域模型进行绑定。 Bean Validation 为 JavaBean 验证定义了相应元数据模型 API。...Bean前添加 @Valid 开启校验功能,紧跟在校验Bean后添加一个BindingResultBindingResult封装了前面Bean校验结果。...payload 属性, Bean Validation API 使用者可以通过此属性来给约束条件指定严重级别. 这个属性并不被API自身所使用。...除了这三个强制性要求属性(message, groups payload) 之外, 我们还添 加了一个属性用来指定所要求值....此属性名称vals在annotation定义中比较特 殊, 如果只有这个属性被赋值了的话, 那么, 在使用此annotation到时候可以忽略此属性名称.

63520

springspringboot常用注解_Java常用注解

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

69520

14个Spring MVC超实用技巧!

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

1K10

求求你别在用IF ELSE校验参数了

JSR 380——Bean Validation2.0——定义了用于实体方法验证元数据模型API,将数据校验逻辑通过注解形式封装在实体对象中。 ?...BindingResult 类型参数,用于获取校验结果(将校验结果封装在BingdingResult对象中,不会抛出异常) 注意:@Valid BindingResult 是一一对应,如果有多个...BindingResult,spring不会抛出异常,将校验结果封装在这个对象中 public String person(@Valid User user,BindingResult bindingResult...,属性上加 @Valid,可以验证作为属性对象内部验证 @Data public class User2 { @NotBlank(message = "姓名不能为空") private...比如一个User对象,新增时候不需要检验id(系统生成),修改时候需要检验id属性,要想复用Class,就可以使用Hibernate Validator分组。

1.7K20

Spring中18个注解,你会几个?

标记在方法参数上。 标记在方法参数上,会将客户端传递过来参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用....@Resource有两个属性是比较重要,分是nametype,Spring将@Resource注解name属性解析为bean名字,而type属性则解析为bean类型。...@Resource装配顺序: 如果同时指定了nametype,则从Spring上下文中找到唯一匹配bean进行装配,找不到则抛出异常 如果指定了name,则从上下文中查找名称(id)匹配bean...属性setter方法,并表示受影响bean属性必须在XML配置文件在配置时进行填充。...@Qualifier 当你创建多个具有相同类型 bean 时,并且想要用一个属性只为它们其中一个进行装配,在这种情况下,你可以使用 @Qualifier 注释 @Autowired 注释通过指定哪一个真正

37820

SpringBoot 使用 JSR303 实现参数验证

Bean Validation 为 JavaBean 验证定义了相应元数据模型 API。缺省元数据是 Java Annotations,通过使用 XML 可以对原有的元数据信息进行覆盖扩展。...Bean前添加 @Valid 开启校验功能,紧跟在校验Bean后添加一个BindingResultBindingResult封装了前面Bean校验结果。...payload 属性, Bean Validation API 使用者可以通过此属性来给约束条件指定严重级别. 这个属性并不被API自身所使用。...除了这三个强制性要求属性(message, groups payload) 之外, 我们还添 加了一个属性用来指定所要求值....此属性名称vals在annotation定义中比较特 殊, 如果只有这个属性被赋值了的话, 那么, 在使用此annotation到时候可以忽略此属性名称.

63630

Spring 中注解大全应用

标记在方法参数上。 标记在方法参数上,会将客户端传递过来参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用....@Resource有两个属性是比较重要,分是nametype,Spring将@Resource注解name属性解析为bean名字,而type属性则解析为bean类型。...@Resource装配顺序: 如果同时指定了nametype,则从Spring上下文中找到唯一匹配bean进行装配,找不到则抛出异常 如果指定了name,则从上下文中查找名称(id)匹配bean...属性setter方法,并表示受影响bean属性必须在XML配置文件在配置时进行填充。...@Qualifier 当你创建多个具有相同类型 bean 时,并且想要用一个属性只为它们其中一个进行装配,在这种情况下,你可以使用 @Qualifier 注释 @Autowired 注释通过指定哪一个真正

45420
领券