首页 > 其他分享 >SpringMVC:域对象共享数据

SpringMVC:域对象共享数据

时间:2023-02-14 14:23:03浏览次数:48  
标签:return RequestMapping SpringMVC request public 对象 共享 Model

SpringMVC:域对象共享数据

使用ServletAPI向request域对象共享数据

@RequestMapping("/testServletAPI")
public String testServletAPI(HttpServletRequest request){
    request.setAttribute("testScope", "hello,servletAPI");
    return "success";
}

使用ModelAndView向request域对象共享数据

@RequestMapping("/testModelAndView")
public ModelAndView testModelAndView(){
    /**
     * ModelAndView有Model和View的功能
     * Model主要用于向请求域共享数据
     * View主要用于设置视图,实现页面跳转
     */
    ModelAndView mav = new ModelAndView();
    //向请求域共享数据
    mav.addObject("testScope", "hello,ModelAndView");
    //设置视图,实现页面跳转
    mav.setViewName("success");
    return mav;
}

使用Model向request域对象共享数据

@RequestMapping("/testModel")
public String testModel(Model model){
    model.addAttribute("testScope", "hello,Model");
    return "success";
}

使用map向request域对象共享数据

@RequestMapping("/testMap")
public String testMap(Map<String, Object> map){
    map.put("testScope", "hello,Map");
    return "success";
}

使用ModelMap向request域对象共享数据

@RequestMapping("/testModelMap")
public String testModelMap(ModelMap modelMap){
    modelMap.addAttribute("testScope", "hello,ModelMap");
    return "success";
}

Model、ModelMap、Map的关系

Model、ModelMap、Map类型的参数其实本质上都是 BindingAwareModelMap 类型的

public interface Model{}
public class ModelMap extends LinkedHashMap<String, Object> {}
public class ExtendedModelMap extends ModelMap implements Model {}
public class BindingAwareModelMap extends ExtendedModelMap {}

向session域共享数据

@RequestMapping("/testSession")
public String testSession(HttpSession session){
    session.setAttribute("testSessionScope", "hello,session");
    return "success";
}

向application域共享数据

@RequestMapping("/testApplication")
public String testApplication(HttpSession session){
    ServletContext application = session.getServletContext();
    application.setAttribute("testApplicationScope", "hello,application");
    return "success";
}

SpringMVC系列:

标签:return,RequestMapping,SpringMVC,request,public,对象,共享,Model
From: https://www.cnblogs.com/kohler21/p/17119442.html

相关文章

  • Java中如何打印对象内存地址?
    先看一个简单的程序,一般我们打印对象,大部分是下面的情况,可能会重写下toString()方法publicstaticvoidmain(String[]args){ Frolanfrolan=newFrol......
  • SQL SERVER备份数据库到共享目录
    --如果xp_cmdshell没有启用,请先启用sp_configure'showadvancedoptions',1RECONFIGUREGOsp_configure'xp_cmdshell',1RECONFIGURE--目标共享目录:\\172.16.1.63......
  • WIN10共享打印机连接出现0x0000011b错误代码无法共享打印
    WIN10共享打印机连接出现0x0000011b错误代码无法共享打印办公室里面一台WINDOWS10电脑共享了一台HP1020的打印机出来,以方便办公室内其它没有安装打印机的电脑进行共享打印......
  • 对象存储服务MinIO安装,编写Starter整合,及永久链接配置
    (目录)对象存储服务MinIO1MinIO简介MinIO基于ApacheLicensev2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,......
  • Java面向对象2(G~J)
    G   织女的红线(SDUT2240)importjava.util.Scanner;importjava.text.DecimalFormat;classSum{doublex1,y1,x2,y2;Sum(doublen1,doublem1,doublen2,dou......
  • Java面向对象6(AA ~ AE)
    AE 简单的复数运算(类和对象)(SDUT4303)importjava.util.*;classComplex{ inta,b; Complex(){ } Complex(intn,intm){ a=n; b=m; } voi......
  • Java面向对象3(K~O)
     K    正方形(SDUT2444)importjava.lang.reflect.Array;importjava.util.*;publicclassMain{ publicstaticvoidmain(String[]args){ Scanners......
  • JavaScript-面向对象的理解
    Everythingisobject(万物皆对象)作为开发大家都非常熟悉的一句话。(1)对象是单个事物的抽象。在生活中大的事物圈子,比如一只猫、一本书、一个人,都可以理解为对象(objec......
  • java 复制Map对象(深拷贝与浅拷贝)
    1.深拷贝与浅拷贝浅拷贝:只复制对象的引用,两个引用仍然指向同一个对象,在内存中占用同一块内存;被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象的......
  • ChatGPT 下一步,分配对象脱单有望
    ChatGPT火了,上一次这么热闹还是上一次……那时最紧俏的概念叫元宇宙。混沌时期,鱼龙混杂。资本市场靠新故事造梦,科技巨头争相加入竞赛,也有脑子活泛的已经利用它的巨大热度搞......