博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Springmvc 重定向参数传递方式
阅读量:5316 次
发布时间:2019-06-14

本文共 1748 字,大约阅读时间需要 5 分钟。

Springmvc  通过return "redirect:" 实现重定向   重定向的状态码301  302

301,302 都是HTTP状态的编码,都代表着某个URL发生了转移,不同之处在于: 

301 redirect: 301 代表永久性转移(Permanently Moved)。 
302 redirect: 302 代表暂时性转移(Temporarily Moved )。 
1.1、什么是301转向?什么是301重定向? 
  301转向(或叫301重定向,301跳转)是当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。 
1.2、什么是302重定向? 
  302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect。 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服 务器端的重定向,能够被搜索引擎蜘蛛正确地处理。 

在springmvc实现重定向进行参数传递方式有两种:

     一、在请求地址后面进行拼接

        

@RequestMapping(value="/save")    public String  save(){        return "redirect:update?name=zhangsan&age=23";    }

二、采用RedirectAttributes 对象的 addFlashAttribute() 方法将参数数据放到session中session在跳转页面后马上移出对象,在跳转的方法中采用@ModelAttribute接收跳转后的参数

@RequestMapping(value="/login")    public String login(String name, String password, RedirectAttributes model){        model.addFlashAttribute("msg",name);        return "redirect:tohome";    }    @RequestMapping(value = "/tohome")    public String home(@ModelAttribute String msg,Model model){        model.addAttribute("msg",msg);        return "redirect:home";    }

 对上面关于RedirectAttribute 实现重定向传值方式补充

采用用上面的方式实现重定向时候 发现无法获取到传递的参数值

redirectAttr.addFlashAttribute("status","10");mv.setViewName("redirect:/user/home");

正确的接受的方式:  真正的获取到了值得方式  开始的时候我并没有给@ModelAttribute后面添加value   直接采用@ModelAttribute String status 方式 无法获取的值

当采用@ModelAttribute(value="status") String status 这样就可以获取到值了

@RequestMapping("home")    public ModelAndView home(@ModelAttribute(value = "status") String status) {}

在补充一种通过@RedirectAttribute 的addAttribute 方式添加值 

 使用方式  attr.addAttribute("status",10);

 自动会给我们要重定向的Url 后面拼接 ?status=10 进行一个拼接

以上的都必须是重定向切记

 

 

 

转载于:https://www.cnblogs.com/lwdmaib/p/9429214.html

你可能感兴趣的文章
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
centos系统python2.7更新到3.5
查看>>
【Quartz】常用方法的使用方式(三)
查看>>
MVVM模式下关闭窗口的实现
查看>>
C#区域截图——调用API截图
查看>>
c#与java中byte字节的区别及转换方法
查看>>
A WebBrowser Toy
查看>>
用MyXls生成Excel报表(C#)
查看>>
了解WP的传感器
查看>>
阅读笔记 火球——UML大战需求分析 2
查看>>
acedEvaluateLisp函数的反汇编
查看>>
Linux无线工具详解(Wireless tools for Linux)
查看>>
ACM PKU 2328 http://acm.pku.cn/JudgeOnline/problem?id=2328
查看>>
VB.NET 制作DLL动态库文件
查看>>
RSS阅读器
查看>>
微信电脑版不断崩溃
查看>>
js链式调用
查看>>
数字统计
查看>>
20180620小测
查看>>
iptables设置规则
查看>>