zoukankan      html  css  js  c++  java
  • 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不需要配置视图解析器

  • 相关阅读:
    Java XML的总结(一)
    golang两个协程交替打印1-100的奇数偶数
    nat类型探测方法(排除法)
    janus-gateway 在macOS上的编译部署
    性能测试-并发和QPS
    基于etcd的Rabbitmq队列订阅负载均衡
    【python学习笔记】10.充电时刻
    【python学习笔记】9.魔法方法、属性和迭代器
    【python学习笔记】8.异常
    【python学习笔记】7.更加抽象
  • 原文地址:https://www.cnblogs.com/huangjian2/p/6651145.html
Copyright © 2011-2022 走看看