前言
在SpringMvc后台进行获取数据,通常是两种。
1.request.getParameter(“参数名”)
2.用@RequestParam注解获取前端
@RequestMapping("/") public String Demo1(@RequestParam String lid){ System.out.println("----"+lid); return null; }
前台页面 <input type="text" name="lid" /> <!-- 这时输出为10 --> Console输出界面 ----10
springmvc会自动根据参数名字来注入,因此要名字一致,否则不会注入spring
参数名字不一致
@RequestMapping("/") public String Demo1(@RequestParam(name="lid") String id){ System.out.println("----"+id); return null; } 前台页面 <input type="text" name="lid" /> <!-- 这时输出为10 --> Console输出界面 ----10
参数名字不一致的话,须要在@RequestParam后面指定参数名字,才能为后面的参数进行赋值。mvc
设置默认值
@RequestMapping("/") public String Demo1(@RequestParam(name="lid",defaultValue="ste") String id){ System.out.println("----"+id); return null; } 前台页面 Console输出界面 ----ste
注意事项
@RequestMapping("/") public String Demo1(@RequestParam(name="lid") int id){ System.out.println("----"+id); return null; } 前台页面 <input type="text" name="lid" /> <!-- 这时输出为10 --> Console输出界面 ----10
若是要@RequestParam为一个int型的数据传值,假如前端并未输入,那么将会为int型的数据赋值为null。显然,这是不容许的,直接报错。
能够经过required=false或者true来要求@RequestParam配置的前端参数是否必定要传 app
// required=true,则参数必需要传 @RequestMapping("/") public String Demo1(@RequestParam(name="lid",required=true) int id){ System.out.println("----"+lid); return null; }`
若是required为false,那么默认为参数赋值为nullui