SpringMVC将数据显示到前端的三种方式

1.通过Model将数据显示到前端

@RequestMapping("/ct2/hello")
    public String hello(@RequestParam("username") String name, Model model){
        //封装要显示到视图中的数据
        //相当于req.setAttribute("name",name);
        model.addAttribute("msg",name);
        System.out.println(name);
        return "test";
    }

2.通过ModelMap将数据显示到前端

@RequestMapping("/hello")
    public String hello(@RequestParam("username") String name, ModelMap model){
        //封装要显示到视图中的数据
        //相当于req.setAttribute("name",name);
        model.addAttribute("name",name);
        System.out.println(name);
        return "hello";
    }

3.通过ModelAndView将数据传到前端

public class Controller1 implements Controller{
    @Override
    public ModelAndView handleRequest(HttpServletRequest var1, HttpServletResponse var2) throws Exception {
        ModelAndView mv = new ModelAndView();
        mv.addObject("msg","Test1");
        mv.setViewName("test1");
        return mv;
    }
}

对比

就对于新手而言简单来说使用区别就是:

Model 只有寥寥几个方法只适合用于储存数据,简化了新手对于Model对象的操作和理解; ModelMap 继承了 LinkedMap ,除了实现了自身的一些方法,同样的继承 LinkedMap 的方法和特性; ModelAndView 可以在储存数据的同时,可以进行设置返回的逻辑视图,进行控制展示层的跳转。 当然更多的以后开发考虑的更多的是性能和优化,就不能单单仅限于此的了解。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐