SpringMVC跨重定向请求传递数据

(1)使用URL模板以路径变量和查询参数的形式传递数据(一些简单的数据)

 1     @GetMapping("/home/index")
 2     public String index(Model model){
 3         Meinv meinv = new Meinv("gaoxing",22);
 4         model.addAttribute("lastName",meinv.getLastName());
 5         model.addAttribute("age",meinv.getAge());
 6         return "redirect:/home/details/{lastName}";
 7     }
 8
 9     @GetMapping("/home/details/{lastName}")
10     public String details(@PathVariable String lastName, @RequestParam Integer age){
11         System.out.println(lastName);
12         System.out.println(age);
13         return "home";
14     }

(2)通过flash属性发送数据(对象等复杂数据)

 1     @GetMapping("/home/index")
 2     public String index(RedirectAttributes model){
 3         Meinv meinv = new Meinv("gaoxing",22);
 4         model.addAttribute("lastName",meinv.getLastName());
 5         model.addFlashAttribute("meinv",meinv);
 6         return "redirect:/home/details/{lastName}";
 7     }
 8
 9     @GetMapping("/home/details/{lastName}")
10     public String details(@PathVariable String lastName, Model model){
11         Meinv meinv = null;
12         if(model.containsAttribute("meinv")){
13             meinv = (Meinv) model.asMap().get("meinv");
14         }
15         System.out.println(meinv);
16         return "home";
17     }

原文地址:https://www.cnblogs.com/fanqisoft/p/10263091.html

时间: 2024-08-02 06:55:38

SpringMVC跨重定向请求传递数据的相关文章

Spring 跨重定向请求传递数据

在处理完POST请求后, 通常来讲一个最佳实践就是执行一下重定向.除了其他的一些因素外,这样做能够防止用户点击浏览器的刷新按钮或后退箭头时,客户端重新执行危险的POST请求. 在控制器方法返回的视图名称中,我们借助了" redirect:" 前缀的力量.当控制器方法返回的String 值 以" redirect:" 开头 的 话, 那么 这个 String 不是 用来 查找 视图 的, 而是 用来 指导 浏览器 进行 重定向 的 路径. 我们 可以 回头 看一下 程

Spring 梳理-跨重定向请求传递数据-Flash

Spring MVC Flash Attribute 的讲解与使用示例 1. Spring MVC 3.1版本加了一个很有用的特性,Flash属性,它能解决一个长久以来缺少解决的问题,一个POST/Redirect/GET模式问题. 正常的MVC Web应用程序在每次提交都会POST数据到服务器.一个正常的Controller (被注解 @Controller标记)从请求获取数据和处理它 (保存或更新数据库).一旦操作成功,用户就会被带到(forward)一个操作成功的页面.传统上来说,这样的P

Spring之跨重定向请求传递数据

摘要 在开发场景中,大部分数据都是使用请求转发(forward)进行传递,而使用重定向(redirect)传递数据可能比较少. 那么问题来了:请求中的数据生命周期存活时间只在一个请求转发(request)中,当这个请求结束后,那么请求中所带的数据也会随着这个请求一起拜拜了.而重定向会向服务器发起两个请求,所以第一个请求的数据不就到不了第二个请求了吗?如图: 如果我们想传递的数据在第二个请求中有效,那么怎么办呢? 有以下两种方法可以解决: url路径传递 使用flash属性 url路径传递 url

AJAX跨域请求json数据的实现方法

这篇文章介绍了AJAX跨域请求json数据的实现方法,有需要的朋友可以参考一下 我们都知道,AJAX的一大限制是不允许跨域请求. 不过通过使用JSONP来实现.JSONP是一种通过脚本标记注入的方式,它是可以引用跨域URL的js脚本,不过需要提供一个回调函数(必须在您自己的页面上),因此,你可以自己处理结果. 让我们看看JSONP的是怎么在jQuery,MooTools的,Dojo Toolkit中实现的. jQuery的JSONPjQuery.getJSON方法:Js代码 jQuery.get

jquery跨域请求json数据

//服务端生成json数据json.php <?php $json=array("Volvo","BMW","SAAB"); $cb = $_GET['callback']; echo $cb.'('.json_encode($json, true).')'; ?> //客户端Ajax请求数据<script> $(document).ready(function() { var url="http://域名/js

本地主机作服务器解决AJAX跨域请求访问数据的方法

近几天学到ajax,想测试一下ajax样例,由于之前在阿里租用的服务器过期了,于是想着让本地主机既做服务器又做客户端,只是简单地测试,应该还行. 于是,下载了xampp,下载网址http://www.apachefriends.org ,只需要解压傻瓜式地安装就可以. 找到安装软件的目录,点击xampp-control.exe然后启动Apache服务, 打开浏览器,在地址栏输入localhost,出现如下图片,说明安装启动都没问题 现在编写两个简单的文本,一个txt文件,一个html代码: 截图

关于Jquery跨域请求php数据

什么引起了ajax不能跨域请求的问题? ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告. 跨域的安全限制都是指浏览器端来说的,服务器端是不存在跨域安全限制的.所以针对这2种情况衍生出2类跨域解决方案,一类是服务器端做中转类似代理方式,一类是js处理浏览器端的真正跨域访问. <script type="text/javascript" src="./jquery-1.6.4.min.j

React之使用Context跨组件树传递数据

---------------------------------  讲解一 原文:https://blog.csdn.net/xuxiaoping1989/article/details/78480758 注意: 从 React v15.5 开始 ,React.PropTypes 助手函数已被弃用,我们建议使用 prop-types 库 来定义contextTypes.2.1首先你需要通过在终端npm install prop-types安装一个叫prop-types的第三方包 getChil

jQuery使用ajax跨域请求获取数据

跨域是我在日常面试中经常会问到的问题,这词在前端界出现的频率不低,主要原因还是由于安全限制(同源策略, 即JavaScript或Cookie只能访问同域下的内容),因为我们在日常的项目开发时会不可避免的需要进行跨域操作,所以跨域能力也算是前端工程师的基本功之一. var webMethod = "http://localhost:54473/Service1.asmx/HelloWorld"; jQuery.support.cors = true; //之前没有加这句老是提示no tr