一、处理模型数据

概念:
Spring MVC 提供了几种途径输出模型数据,模型数据主要输出到页面

ModelMap及 Model
Spring MVC 在内部使用了一个 org.springframework.ui.Model 接口存储模型数据
Spring MVC 在调用方法前会创建一个隐含的模型对象作为模型数据的存储容器。
如果方法的入参为 Map 或 Model类型,Spring MVC 会将隐含模型的引用传递给这
些入参。 在方法体内,开发者可以通过这个入参对象访问到模型中的所有数据,
也可以向模型中添加新的属性数据
Model是每次请求中都存在的默认参数

返回模型数据

利用model其addAttribute()方法或者map的put方法即可将服务器的值传递到页面中
用到Model model必须返回视图 直接return字符串返回视图,
返回的参数放在model里面
页面用EL表达式${获取返回的参数key}

二、ModelAndView

概念

使用ModelAndView类用来存储处理完后的结果数据,以及显示该数据的视图。
从名字上看ModelAndView中的Model代表模型,View代表视图,
这个名字就很好地解释了该类的作用
添加模型数据 :
ModelAndView addObject(String attributeName, Object attributeValue)
ModelAndView addAllObject(Map<String, ?> modelMap)
设置视图:
void setView(View view)(自定义视图)
void setViewName(String viewName)。

下面两种写法是效果一样的

模板文件里写
${name!}
${sex!}
${city!}
  @RequestMapping("/getModel")
    public String getModel(Model model){
        model.addAttribute("name","njl");
        model.addAttribute("sex","男");
        model.addAttribute("city","北京");
        return "/login/getModel";
    }


    @RequestMapping("/getModelAndView")
    public ModelAndView getModelAndView(){
        ModelAndView modelAndView = new ModelAndView();
        modelAndView.setViewName("/login/getModelAndView");
        modelAndView.addObject("name","njl");
        modelAndView.addObject("sex","男");
        modelAndView.addObject("city","北京");
        return modelAndView;
    }

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐