欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-07-10 21:36:57
使用 @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.