本文介绍: BindingResult是 Spring MVC 框架中的一个接口,它用于处理数据绑定过程中可能发生的错误。在 Spring MVC 中,当你尝试将请求参数绑定到一个 Java 对象(例如一个表单提交)时,如果发生任何错误,例如类型转换错误、缺少必需的字段等,这些错误将被捕获并存储在一个BindingResult对象中。
1、pom.xml
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> </dependency> <dependency> <groupId>jakarta.platform</groupId> <artifactId>jakarta.jakartaee-web-api</artifactId> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator-annotation-processor</artifactId> </dependency> </dependencies>
2、web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> <servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
3、springmvc.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"> <context:component-scan base-package="com.atguigu.controller"/> <mvc:default-servlet-handler/> <mvc:annotation-driven> <mvc:message-converters> <bean class="org.springframework.http.converter.StringHttpMessageConverter"><!-- 默认编码是iso-8859-1 --> <property name="supportedMediaTypes"> <list> <value>text/plain;charset=utf-8</value> <value>text/html;charset=utf-8</value> </list> </property> </bean> </mvc:message-converters> </mvc:annotation-driven> </beans>
4、User.java
package com.atguigu.pojo; import jakarta.validation.constraints.Email; import jakarta.validation.constraints.Max; import jakarta.validation.constraints.Min; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; import org.hibernate.validator.constraints.Length; @Data @NoArgsConstructor @AllArgsConstructor public class User { @Max(150) @Min(0) private Integer age; @Length(min = 6,max = 20) private String name; @Email private String email; }
5、ValidateController.java
package com.atguigu.controller; import com.atguigu.pojo.User; import org.springframework.validation.BindingResult; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/validate") public class ValidateController { @PostMapping public Object h01(@Validated @RequestBody User user , BindingResult bindingResult) { if (bindingResult.hasErrors()) { return bindingResult.getFieldError().toString(); } else { System.out.println(user); return user; } } }
6、BindingResult
BindingResult
是 Spring MVC 框架中的一个接口,它用于处理数据绑定过程中可能发生的错误。在 Spring MVC 中,当你尝试将请求参数绑定到一个 Java 对象(例如一个表单提交)时,如果发生任何错误,例如类型转换错误、缺少必需的字段等,这些错误将被捕获并存储在一个BindingResult
对象中。你可以在你的控制器方法中包含一个
BindingResult
参数,Spring MVC 会自动填充该参数,这样你就可以检查和处理任何在数据绑定过程中发生的错误。下面是一个简单的例子,演示了如何使用
BindingResult
:@Controller public class MyController { @RequestMapping(value = "/submitForm", method = RequestMethod.POST) public String submitForm(@ModelAttribute("myForm") MyForm myForm, BindingResult result) { if (result.hasErrors()) { // 数据绑定过程中发生错误,处理错误 return "error"; } else { // 数据绑定成功,处理表单提交 return "success"; } } }
在这个例子中,我们有一个名为
MyForm
的表单对象,我们尝试将请求参数绑定到这个对象上。如果数据绑定过程中发生任何错误,这些错误将被捕获并存储在result
对象中。我们可以通过调用result.hasErrors()
来检查是否有错误发生,如果有,我们可以返回一个错误页面,如果没有,我们可以处理表单提交并返回一个成功页面。
原文地址:https://blog.csdn.net/m0_65152767/article/details/134652511
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_1012.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。