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

SpringMVC域对象共享数据

时间:2022-09-25 18:55:41浏览次数:48  
标签:return RequestMapping SpringMVC request public 对象 共享 Model

使用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";
}

标签:return,RequestMapping,SpringMVC,request,public,对象,共享,Model
From: https://www.cnblogs.com/java-six/p/16728469.html

相关文章

  • SpringMVC加载控制与业务bean加载控制
          ......
  • vue中检测不到数组或者对象发生改变,如何解决? vue更新数组时触发视图更新的方法
    vue中检测不到数组或者对象发生改变,如何解决? this.$set(对象/数组,键,值)Vue.set(对象/数组,键,值)给对象增加新属性、给数组增加属性都可以响应!this.$delete(对......
  • SpringMVC-PostMan
     做测试的                        ......
  • C++ 自学笔记 对象的初始化
    数组的初始化:  在C++中 struct≈Class;struct里面可以有函数。 默认构造函数:没有参数的构造函数就是默认构造函数 ......
  • Scanner对象
    Scanner对象我们可以通过Scanner类来获取用户输入基本语法Scannerscanner=newScanner(System.in);通过Scanner类的next()与nextLine()方法获取输入的字符串,在读取......
  • 候捷-C++程序设计(Ⅱ)兼谈对象模型
    目录笔记参考学习目标转换函数与explicitpointer-likeclassesfunction-likeclasses模板template模板特化与偏特化模板模板参数引用(reference)关于虚指针(vptr)和虚表(vtbl)关......
  • SpringMvc
                              ......
  • 方法引用基本介绍和方法引用-通过对象名引用成员方法
    方法引用基本介绍在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿什么参数做什么操作,那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有......
  • navigation 对象
    navigation对象​navigator对象包含有关浏览器的信息.它有很多属性,我们最常用的是userAgent,该属性可以返回由客户机发送服务器的user-agent头部的值。下面前......
  • history 对象
    history对象window对象给我们提供了一个history对象,与浏览器历史记录进行交互。该对象包含用户(在浏览器窗口中)访问过的URL。......