Controller层中的注解@RequestParam
程序员的常态:呀!这里怎么回事来?我学过呀!
@RequestParam有三个重要参数
required
它是一个Boolean类型,true表示这个参数必须传,默认为true,也就是说如果你使用了这个注解,那么前端上送的参数这个值不能为空。
defaultValue
它是给定一个默认值,如果前端没有给传,那么我们就可以给它一个默认值。
value
这个参数非常重要,它可以帮我们解决前端传递的参数名和我们Controller层参数不一样的问题。我们可以这样理解:我们用@RequestParam来帮我们接受前端的参数然后再传给后端,那我们就可以记住,value要和前端的参数名一样。
例子:
@RequestMapping("/user/login")
public String Login(String username, @RequestParam(value="pwd")String password, Model model){
if(StringUtil.isEmpty(password)&&password.equals("123")){
model.addAttribute("msg","登录成功!");
return "ok";
}else{
model.addAttribute("msg","登录失败!");
return "index";
}
}
- username没有使用注解,说明它可以不用传,但是password必须传。其实代码中就不用对password判空了。
- @RequestParam(value=“pwd”)说明前端送的参数名是"pwd=xxx";
over!
如果有理解不对的地方,还请大神多多指点。