SpringMVC框架详细教程(九)_使用 @RequestParam …

2020-04-17 16:03:02来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

SpringMVC框架详细教程(九)_使用 @RequestParam 将请求参数绑定至方法参数

使用 @RequestParam 将请求参数绑定至方法参数

使用 @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.

原文链接:https://www.cnblogs.com/lemon-coke-pudding/p/12722950.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:OpenWrite 编辑器如何配置七牛云图床

下一篇:SpringMVC框架详细教程(十)_配置视图解析器