我是靠谱客的博主 平淡泥猴桃,最近开发中收集的这篇文章主要介绍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绑定单个请求参数值所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复