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

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

原文地址:https://www.cnblogs.com/huangjian2/p/6651145.html