当前位置: 首页 > news >正文

域对象共享数据

  • 处理请求的过程:

获取请求参数,调用service处理业务逻辑,往域对象中共享数据,最后实现渲染页面跳转。

请求域中共享数据

ModelAndView向request域对象共享数据

  • ModelAndView往域对象共享数据,并实现页面跳转和渲染页面。

- 使用ModelAndView时,可以使用其Model功能向请求域共享数据。
- 使用View功能设置逻辑视图实现页面跳转,但是控制器方法的返回值一定要
将ModelAndView作为方法的返回值。

index.html

<a th:href="@{/test/mav}">测试通过ModelandView向请求域共享数据</a>

controller

     @RequestMapping("/test/mav")
//    如果要用ModelAndView,必须将ModelAndView进行返回public ModelAndView testMAV(){ModelAndView mav=new ModelAndView();
//        向请求域中共享数据mav.addObject("testRequestScope","hello,ModelAndView");mav.setViewName("success");return mav;}

success.html

<p th:text="${application.testApplicationScope}"></p>

Model向request域对象共享数据

DispatcherServlet调用方法的时候直接创建这个Model对象。
<a th:href="@{/test/model}">测试通过Model向请求域共享数据</a><br>
    @RequestMapping("/test/model")
//    方法的返回值是String,现在用的是ModelAndView里面的Model功能public String testModel(Model model){model.addAttribute("testRequestScope","hello,Model");return "success";}

ModelMap向request域对象共享数据

  • 跟Model的向request域对象共享数据一样。

Map向request域对象共享数据

    @RequestMapping("/test/map")
//    方法的返回值是String,现在用的是ModelAndView里面的Model功能public String testModel(Map<String,Object > map){   //直接创建model对象map.put("testRequestScope","hello,map");return "success";}
注:这三种类型都是:org.springframework.validation.support.BindingAwareModelMap类型

ServletAPI向request域对象共享数据

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

会话域和应用域共享数据

  • 直接使用servletAPI,相比较而言,springmvc提供的方式并没有使用servletAPI简单。

<a th:href="@{/test/session}">测试向会话域共享数据</a><br>
<a th:href="@{/test/application}">测试通过应用域共享数据</a><br>
    @RequestMapping("/test/session")public String testSession(HttpSession session){session.setAttribute("testSessionScope","hello,session");return "success";}@RequestMapping("/test/application")public String testApplication(HttpSession session){ServletContext servletContext = session.getServletContext();servletContext.setAttribute("testApplicationScope","hello,application");return "success";}
<h1>success.html</h1>
<p th:text="${session.testSessionScope}"></p>
<p th:text="${application.testApplicationScope}"></p>

http://www.lryc.cn/news/6313.html

相关文章:

  • 【基于jeeSite框架】SpringBoot+poi+Layui自定义列表导出
  • 使用 RGB 值设置颜色
  • 【python学习笔记】:5个高效编程技巧
  • IP多播技术详解
  • 华为OD机试真题Python实现【数组排序】真题+解题思路+代码(20222023)
  • 丹麦市政当局通过 NetIQ 身份和访问管理解决方案,提高安全合规性
  • 内网渗透学习官方文档
  • 如何编写接口测试用例?
  • 代码随想录算法训练营第44天 || 完全背包 || 518. 零钱兑换 II || 377. 组合总和 Ⅳ
  • 【Bug】SQL无法绑定由多个部分组成的标识符
  • Games102 学习笔记
  • 知识图谱基本知识点以及应用场景
  • IDEA中常用的快捷键
  • 朗润国际期货招商:桥水基金四季度投资组合
  • Linux管道命令(pipe)全
  • mybatis条件构造器(一)
  • 车联网之电子围栏中ConnectStreamed应用【二十】
  • 临时文件tempfile
  • vue3封装数值动态递增组件
  • JavaWeb_RequestResponse
  • C语言刷题——“C”
  • 【刷题】搜索——BFS:城堡问题(The Castle)
  • 深度学习——torch相关函数用法解析
  • ubuntu 20使用kubeadm安装k8s 1.26
  • 低代码开发平台|制造管理-生产过程管理搭建指南
  • python对多个csv文件进行合并(表头需一致)
  • Salesforce Apex调用邮件模板
  • windows本地开发Spark[不开虚拟机]
  • 一文教你快速估计个股交易成本
  • Leetcode—移除元素、删除有序数组中的重复项、合并两个有序数组