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

  • 相关阅读:
    ubuntu升级显卡驱动
    __slots__属性,声明实力属性名字列表
    isinstance 与 type 的区别
    conda使用技巧
    卷积神经网络参数
    apache nginx php不显示版本号
    30个实用的Linux find命令示例
    账号的管理的那点事
    Linux 命令整理 —— 基本操作
    Linux 命令整理 —— 用户管理
  • 原文地址:https://www.cnblogs.com/huangjian2/p/6651145.html
Copyright © 2020-2023  润新知