共享数据

视图控制器:为当前的请求直接设置视图名称实现页面跳转
若设置视图控制器,则只有视图控制器所设置的请求会被处理,其他的请求将全部404此时必须在配置一个标签: 
return无任何前缀是Thymeleafview
InternalResourceview:return "forward:/mvx/test"
Redirectview视图:return "redirect:/mvx/test"

四选一:
通过ModelAndview向请求域共享数据:
使用ModelAndview时,可以使用其Model功能向请求域共享数据
使用view功能设置逻辑视图,但是控制器方法一定要将ModelAndvView作为方法的返回值
    @RequestMapping("/mvx/test")
    public String modelAndView() {
        /**
         *ModeLAndview包含ModeL和View的功能
         * Model :向请求域中共享数据
         * view:设置逻辑视图实现页面跳转
         */

        ModelAndView mvx = new ModelAndView();
        //向请求域共享数据
        mvx.addObject("testRequestScope", "test");
        //设置逻辑视图
        mvx.setViewName("b");
        return "mvx";
    }

Model:
    @RequestMapping("/mvx/test")
    public String model(Model model){
        model.addAttribute("testRequestScope", "test");
        return "b";
    }

ModelMap:
    @RequestMapping("/mvx/test")
    public String modelMap(ModelMap modelMap){
        modelMap.addAttribute("testRequestScope", "test");
        return "b";
    }


map:
    @RequestMapping("/mvx/test")
    public String map(Map map){
        map.put("testRequestScope", "test");
        return "b";
    }
应用层与会话层
@RequestMapping("/mvx/test")
    public String session(HttpSession session){
        session.setAttribute("testRequestScope", "test");
        return "b";
    }

    @RequestMapping("/mvx/test")
    public String application(HttpSession session){
        ServletContext servletContext = session.getServletContext();
        servletContext.setAttribute("testRequestScope", "test");
        return "b";
    }

你可能感兴趣的:(共享数据)