SpringMVC 学习(二)
第二章 SpringMVC参数传递、接收
一、参数接受
springmvc想接受从浏览器地址栏或者表单传递过来的参数,只需要将参数写在方法的参数列表中即可。
- 如果参数列表中的类型是基本类型,在浏览器访问的时候没有传递相应的参数,报500;如果参数传递正确,则业务逻辑正常运行;如果传递的参数类型和参数列表中的类型不一致,报400
- 如果参数列表中的类型是基本类型的包装类,在浏览器访问的时候没有传递相应的参数,没有http错误码,但是控制台上获取到的值为null;如果参数传递正确,则业务逻辑正常运行;如果传递的参数类型和参数列表中的类型不一致,报400
- 如果参数列表中的参数使用@RequestParam修饰,那么在浏览器访问的时候没有传递相应的参数,报400 HTTP Status 400 - Required String parameter ‘name’ is not present
@RequestMapping(value = "/list1", method = RequestMethod.GET)
public String listUser1() {
System.out.println("listUser1 sout");
return "listUser";
}
@RequestMapping("/list2")
public String listUser2(@RequestParam Integer id, @RequestParam String name, @RequestParam String password) {
System.out.println("list2 id : " + id);
System.out.println("list2 name : " + name);
System.out.println("list2 password : " + password);
return "listUser";
}
@RequestMapping("/list4")
public String listUser4(HttpServletRequest req, HttpSession session) {
String id = req.getParameter("id");
// int idInt = Integer.parseInt(id);
System.out.println("list4 id : " + id);
session.setAttribute("loginId", id);
return "listUser";
}
二、参数传递
从controller向jsp传递参数,仅需在方法的参数列表中增加Model即可
@RequestMapping("/list8")
public String listUser8(Model model) {
// 使用model传递参数 类似于req.setAttribute
model.addAttribute("name", "linhan");
model.addAttribute("password", "abc123");
return "listUser1";
}
@RequestMapping("/list10")
public String listUser10(Map<String, Object> map) {
map.put("key1", "value1");
map.put("key2", "value2");
return "listUser3";
}
总结
以上就是今天要讲的内容。