我是靠谱客的博主 平淡泥猴桃,最近开发中收集的这篇文章主要介绍14.springMVC中获取请求中所携带的参数——@RequestParam中value,required,defaultValue1.@RequestParam绑定单个请求参数值,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本节课是@RequestParam注解的具体使用。。。

@RequestMapping("/get_param")
@Controller
public class GetParamController {
	//客户端传的参数名和方法接收的参数名保持一致则不需要@RequestParam
	@RequestMapping("/test1")  
	public String test1(String name) { //name接收
		System.out.println("GetParamController test1()...");
		System.out.println("name="+name);
		return "test";//跳转到test.jsp
	}
}

结果:
1.当请求是:127.0.0.1:9999/springmvc/get_param/test1?name=tom
在这里插入图片描述
在这里插入图片描述
2.当请求是:127.0.0.1:9999/springmvc/get_param/test1?username=tom
在这里插入图片描述
在这里插入图片描述

结论:

127.0.0.1:9999/springmvc/get_param/test1?name=tom
结果:name=tom
127.0.0.1:9999/springmvc/get_param/test1?username=tom(前后端之间不匹配)
结果:name=null
问题??? 前后端假如说是不匹配能还接收到参数  test2解决了
在方法参数里面加上了@RequestParam

1.@RequestParam绑定单个请求参数值

1.@RequestParam

这个注解要求我们传的值必须要和我们自己设定的变量名完全一样

@RequestMapping("/get_param")
@Controller
public class GetParamController {
	//传输参数名和接收参数名不保持一致,可以使用@RequestParam  
	@RequestMapping("/test2")  
	public String test2(@RequestParam("username") String name) {
		// ../test2?username=aaa 
		//将username赋值给name
		System.out.println("GetParamController test2()...");
		System.out.println("name="+name);
		return "test";//跳转到test.jsp
	}
}

在这里插入图片描述

2.@RequestParam(“username”)

可以用自己设定的参数名接收参数值
传输参数名和接收参数名不保持一致,可以使用@RequestParam

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.@RequestParam(value=“username”,required=false)

假设传输参数和接收参数名不保持一致,又不想让程序报错可以使用required=false,默认为true

@RequestMapping("/get_param")
@Controller
public class GetParamController {
	//假设传输参数和接收参数名不保持一致,又不想让程序报错可以使用required=false,默认为true
	@RequestMapping("/test3")  
	public String test3(@RequestParam(value="username",required=false) String name) { 
		 //required=false, 访问../test3?user=aaa时,name=null  结果为null  但是不会报错
		System.out.println("GetParamController test3()...");
		System.out.println("name="+name);       
		return "test";//跳转到test.jsp
	}
}

为true时,会报错

在这里插入图片描述

在这里插入图片描述
为false时,就不会报错

在这里插入图片描述

在这里插入图片描述

4.@RequestParam(value=“username”,required=true,defaultValue=“admin”)

defaultValue默认值,如果传输参数没有匹配上则使用默认值,若匹配上则使用传输过来的内容

@RequestMapping("/get_param")
@Controller
public class GetParamController {
	//defaultValue默认值,如果传输参数没有匹配上则使用默认值,若匹配上则使用传输过来的内容
	@RequestMapping("/test4")  
	public String test4(@RequestParam(value="username",required=true,defaultValue="admin") String name) {
		// ../test4?user=aaa  username与user匹配不上,则name=admin
		System.out.println("GetParamController test4()...");
		System.out.println("name="+name);         
		return "test";//跳转到test.jsp
		/*
		 *../test4?user=aaa或者../test4   	结果:name=admin
		 *../test4?username=tom   匹配上了	结果:name=tom
		 */
	}
}

不传值的情况

在这里插入图片描述
在这里插入图片描述
传的参数名与自己设定的不一样时,用默认值,也不会报错

在这里插入图片描述
在这里插入图片描述

5.SPEL表达式

	//SPEL表达式
	@RequestMapping("/test5")  
	public String test5(@RequestParam(value="username",required=true,defaultValue="#{systemProperties['java.vm.version']}") String name) {
		System.out.println("GetParamController test5()...");
		System.out.println("name="+name);      
		return "test";//跳转到test.jsp
		/*
		 * ../test5?user=aaa	//结果:name=25.74-b02  java虚拟机的版本    
		 * */
	}
SpEL表达式:
	形式:#{}
	作用:可以从spring容器中拿出某个对象以及对应的方法或者变量,并把结果作为值来使用
注意:systemProperties是spring自动方法ioc容器中的一个Properties对象,里面方法中很多系统变量,
	要取值只需#{systemProperties['key']}即可

最后

以上就是平淡泥猴桃为你收集整理的14.springMVC中获取请求中所携带的参数——@RequestParam中value,required,defaultValue1.@RequestParam绑定单个请求参数值的全部内容,希望文章能够帮你解决14.springMVC中获取请求中所携带的参数——@RequestParam中value,required,defaultValue1.@RequestParam绑定单个请求参数值所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部