SpringMVC框架学习笔记(5)——数据处理

时间:2023-12-09 23:35:13

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不需要配置视图解析器