1.提交数据的处理
a)提交的域名称和参数名称一致
http://localhost:8080/foward/hello.do?name=zhangsan
处理方法
@RequestMapping(value = "/hello.do")
public String hello(String name) {
System.out.println(name);
return "index.jsp";
}
b)如果域名称和参数名称不一致
http://localhost:8080/foward/hello.do?uname=zhangsan
处理方法
@RequestMapping(value = "/hello.do")
public String hello(@RequestParam("uname")String name) {
System.out.println(name);
return "index.jsp";
}
c)提交的是一个对象
要求提交的表单域名和对象的属性名一致,参数使用对象即可
http://localhost:8080/foward/user.do?name=zhangsan&pwd=123
处理方法
@RequestMapping(value = "/user")
public String hello(User user) {
System.out.println(user);
return "index.jsp";
}
2.将数据显示到UI层
第一种通过ModelAndView-需要视图解析器
@Override
public ModelAndView handleRequest(HttpServletRequest req,
HttpServletResponse resp) throws Exception {
ModelAndView mv = new ModelAndView();
mv.setViewName("hello");
mv.addObject("msg", "first spring mvc app");
return mv;
}
第二种通过ModelMap来实现-不需要视图解析器
@RequestMapping(value = "/hello.do")
public String hello(String name, ModelMap mp) {
System.out.println(name);
//相当于request.setAttribute("name", name);
mp.addAttribute("name", name);
return "index.jsp";
}
ModelAndView和ModelMap的区别
相同点:均可以将数据封装显示到表现层
不同点:ModelAndView可以指定跳转的视图,而ModelMap不能,ModelMap不需要配置视图解析器