origin:https://www.cnblogs.com/xiaoxi/p/5695783.html
1.Controller方法形参接收参数
@RequestMapping("/index1")
public String index1(String name, String age){
return name + age;
}
2.使用HttpServletRequest接收参数
@RequestMapping("/index2")
public String index2(HttpServletRequest request){
String name = request.getParameter("name");
String age = request.getParameter("age");
return name + age;
}
3.使用bean接收参数
创建与请求参数对应的bean
public class UserModel {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
使用bean接收参数
@RequestMapping("/index3")
public UserModel index3(UserModel userModel){
String name = userModel.getName();
String age = userModel.getAge();
return userModel;
}
4.使用PathVariable接收参数,接收路径中的参数
@RequestMapping(value="/index4/{name}/{age}")
public String index4(@PathVariable String name,@PathVariable String age){
return name+age;
}
5.使用RequestParam接收参数,类似于第一种方式,若缺少参数,会有异常
可使用 @RequestParam(required = false) 避免异常
缺少参数会有异常产生,缺少name或age参数均有异常产生
@RequestMapping(value="/index5")
public String index5(@RequestParam String name,@RequestParam String age){
return name+age;
}
缺少name参数不会有异常产生 ,缺少age参数会有异常产生
@RequestMapping(value="/index5")
public String index5(@RequestParam(value = "name",required = false) String name,@RequestParam String age){
return name+age;
}