SpringMVC的数据输出

  1. 使用
@Controller
public class OutputController {
    
    @RequestMapping("/handle01")
    public String handle01(Map<String, Object> map){
        map.put("msg","你好map");
        return "success";
    }
    @RequestMapping("/handle02")
    public String handle02(Model model){
        model.addAttribute("msg","你好model");
        return "success";
    }
    @RequestMapping("/handle03")
    public String handle03(ModelMap modelMap){
        modelMap.addAttribute("msg","你好modelMap");
        return "success";
    }
    //返回值是ModelAndView ;可以为页面携带数据
    @RequestMapping("handle04")
    public ModelAndView handle04(){
        ModelAndView mv = new ModelAndView("success");
        mv.addObject("msg","你好ModelAndView");
        return mv;
    }
}

  1. Map,Model,ModelMap的区别
    我们可以调用getClass获取这三个对象的类型

class org.springframework.validation.support.BindingAwareModelMap

可以看到他们都是属于BindingAwareModelMap类型
我们可以稍微了解一下他们之间的关系

public class BindingAwareModelMap extends ExtendedModelMap{
public class ExtendedModelMap extends ModelMap implements Model{
      public class ModelMap extends LinkedHashMap<String, Object>{
      public interface Model{
  1. 如果想在session中保存数据
    在类上加注解@SessionAttributes(value={"msg","message"},types = {String.class})
    意思为:key值为msg或者message或者value值类型为String的数据在存放的时候,同时给session中存放一份
    也就是说request域中与session域中都有值。

注意:不建议使用,如果想往session中存放数据,建议使用原生api

posted @ 2020-09-06 22:45  微花  阅读(199)  评论(0)    收藏  举报

Loading