SpringMVC框架详细教程(九)_使用 @RequestParam 将请求参数绑定至方法参数
2021-02-14 13:18
标签:web The required set integer frame 类型 control translate 你可以使用 下面这段代码展示了它的用法: 若参数使用了该注解,则该参数默认是必须提供的,但你也可以把该参数标注为非必须的:只需要将 注意:这里使用的 SpringMVC框架详细教程(九)_使用 @RequestParam 将请求参数绑定至方法参数 标签:web The required set integer frame 类型 control translate 原文地址:https://www.cnblogs.com/lemon-coke-pudding/p/12722950.html使用 @RequestParam 将请求参数绑定至方法参数
@RequestParam
注解将请求参数绑定到你控制器的方法参数上。package com.pudding.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class EditPetForm {
@GetMapping("/pets")
public String setupForm(@RequestParam int petId) {
System.out.println(petId);
return "petForm";
}
}
@RequestParam
注解的 required
属性设置为 false
即可:package com.pudding.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
@Controller
public class EditPetForm {
@GetMapping("/pets")
public String setupForm(@RequestParam(value = "petId", required = false) Integer petId) {
System.out.println(petId);
return "petForm";
}
}
required = false
是将请求的参数设置为 null
,所以方法里的参数需要为引用类型(Integer
),如果使用的是基本类型(int
)会出现以下错误:java.lang.IllegalStateException: Optional int parameter ‘petId‘ is present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type.
文章标题:SpringMVC框架详细教程(九)_使用 @RequestParam 将请求参数绑定至方法参数
文章链接:http://soscw.com/index.php/essay/55217.html