@RequestParam 注解的使用

前言

在SpringMvc后台进行获取数据,一般是两种。
1.request.getParameter(“参数名”)
2.用@RequestParam注解获取

后台代码示范

@RequestMapping("/")
public String Demo1(@RequestParam String lid){

    System.out.println("----"+lid);
    return null;
}
前台页面

<input type="text" name="lid" />  

Console输出界面

----10
   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

springmvc会自动根据参数名字来注入,所以要名字一致,不然不会注入

参数名字不一致

@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") String id){

    System.out.println("----"+id);
    return null;
}
前台页面

<input type="text" name="lid" />  

Console输出界面

----10
   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

参数名字不一致的话,需要在@RequestParam后面指定参数名字,才能为后面的参数进行赋值。

设置默认值

@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",defaultValue="ste") String id){

    System.out.println("----"+id);
    return null;
}
前台页面



Console输出界面

----ste
   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

注意事项

@RequestMapping("/")
public String Demo1(@RequestParam(name="lid") int id){

    System.out.println("----"+id);
    return null;
}
前台页面

"text" name="lid" />  

Console输出界面

----10
   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

如果要@RequestParam为一个int型的数据传值,假如前端并未输入,那么将会为int型的数据赋值为null。显然,这是不允许的,直接报错。
可以通过required=false或者true来要求@RequestParam配置的前端参数是否一定要传

// required=true,则参数必须要传
@RequestMapping("/")
public String Demo1(@RequestParam(name="lid",required=true) int id){

    System.out.println("----"+id);
    return null;
}`
   
   
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

如果required为false,那么默认为参数赋值为null

你可能感兴趣的:(@RequestParam 注解的使用)