spring请求参数的输入 以及表单数据校验

xiaoxiao2025-05-16  34

spring mvc 允许以多种方式将客户端中的数据传送到控制器的处理器方法中,包括以下几种 查询参数 表单参数 路径参数

1. 查询参数:

使用@RequstParam 注解 声明参数名称和类型 。一般来说 spring boot 现在支持直接使用类型和参数名称 不需要使用注解

2. 路径参数

将参数放入需要提交的url 路径中 为了实现路径参数, spring 允许我们在requestMapping 注解的路径中使用占位符 ( 大括号{} ) 路径的其他部分与请求的路径完全匹配,占位符部分可以是任意值 格式为

@RequestMapping(value="/test/{name}") public void test(@PathVariable String name){ }

需要注意的是 ,占位符的参数名称 必须和方法的参数名相同

3. 表单参数

Spring MVC 提供了一种绑定机制,通过该机制可以从用户请求中提取数据,然后将数据转换为预定义的数据格式,最后映射到一个模型类,从而创建对象,SpingMVC 实现这种绑定机制非常简单,只需要请求参数名称和java 类的属性相匹配即可,从而使Web 开发变得非常简单明了 所以在接受表单参数时 ,使用一个java类来接受前台form 表单里面的数据 ,通过post 方法将数据 提交到后台 需要注意的是 ,前台form 表单中 ,提交的HTML 元素的 name 需要和 后台的实体类的属性一一对应

表单参数的校验

spring 提供表单校验的方法 通过使用注解(这些注解来源于JSR-303 规范 ,它详细规定了 bean 的校验功能。 ),将注解放在类的属性上,从而限制属性的值

public class User { @NotNull @Size(min = 1,max = 22) private String name; @Min(0) @Max(200) private Integer age; }

为了使校验功能运行起来,需要添加一些内容,首先 , 控制器需要声明在表单提交时, 它希望得到一个合法的模型,在代表表单的参数上添加一个 Valid 注解 就可以实现该功能 同时 ,使用BindingResult 来接收参数是否错误的判断

@RequestMapping(value = "add",method = RequestMethod.POST) @ResponseBody public String add(@Valid User user , BindingResult bindingResult){ if (bindingResult.hasErrors()){ //这里可以进行自定义操作 System.out.println(bindingResult); } System.out.println(user.toString()); return "add user success"; }
转载请注明原文地址: https://www.6miu.com/read-5030190.html

最新回复(0)