前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope

Spring在无RedirectAttributes的情况下(如Interceptor中)使用Flash scope

作者头像
飞奔去旅行
发布于 2019-06-13 06:52:22
发布于 2019-06-13 06:52:22
6.5K00
代码可运行
举报
文章被收录于专栏:智慧协同智慧协同
运行总次数:0
代码可运行

今天遇到一个应用场景:

在需要在自定义的Interceptor中判断用户密码是否过期,如果过期,则重定向到修改密码页,强制修改密码,同时给出提示:“您的密码已过期,请修改密码”

判断逻辑很简单,但是重定向的时候需要前台有消息提示,如果是在Controller中,可以在方法上注入RedirectAttributes参数,但是Interceptor中默认没有这个参数,那么我们如何实现RedirectAttributes的flashMessage功能呢?

通过跟踪Spring源码,发现了实现方法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
FlashMap flashMap = new FlashMap();
flashMap.put('warning', "密码已过期,请先修改密码!");
FlashMapManager flashMapManager = RequestContextUtils.getFlashMapManager(request);
flashMapManager.saveOutputFlashMap(flashMap, request, response);

搞定!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016.04.06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
SpringMVC 中的参数还能这么传递?涨姿势了!
今天来聊一个 JavaWeb 中简单的话题,但是感觉却比较稀罕,因为这个技能点,有的小伙伴们可能没听过!
前端小tips
2021/11/28
3530
SpringMVC 中的参数还能这么传递?涨姿势了!
谈谈你对Spring MVC中的九大组件的理解
一位应届毕业生被问到这样一道面试题,说谈谈你对Spring MVC中的九大组件的理解。
Tom弹架构
2022/12/19
4930
谈谈你对Spring MVC中的九大组件的理解
补习系列-springboot中的几种Scope
HTTP 头(Header)是一种附加内容,独立于请求内容和响应内容。 HTTP 协议中的大量特性都通过Header信息交互来实现,比如内容编解码、缓存、连接保活等等。 如下面的一个请求响应:Request
美码师
2018/08/27
5370
补习系列-springboot中的几种Scope
从Spring源码探究SpringMVC运行流程
其实SpringMVC相比较之前分析的IOC、DI、AOP来说,源码是远远不如他们复杂,我们把流程简单归为两步: 初始化和调用
向着百万年薪努力的小赵
2022/12/02
5760
从Spring源码探究SpringMVC运行流程
(八)Spring源码解析:Spring MVC
对于Spring MVC来说,最核心的一个类就是DispatcherServlet,它负责请求的行为流转。那么在Servlet的初始化阶段,会调用init()方法进行初始化操作,在DispatcherServlet中并没有去实现init()这个方法,而是由其父类HttpServletBean负责实现的。
爪哇缪斯
2023/09/06
3280
(八)Spring源码解析:Spring MVC
Spring MVC使用ModelAndView进行重定向
使用servlet重定向有两种方式,一种是forward,另一种就是redirect。forward是服务器内部重定向,客户端并不知道服务器把你当前请求重定向到哪里去了,地址栏的url与你之前访问的url保持不变。redirect则是客户端重定向,是服务器将你当前请求返回,然后给个状态标示给你,告诉你应该去重新请求另外一个url,具体表现就是地址栏的url变成了新的url。
kirin
2021/03/25
2.9K0
​SpringMVC 教程 - Handler Method
由注解@RequestMapping注解修饰的处理请求的函数的签名非常的灵活,可以使用controller函数支持的一系列参数和返回值。
代码拾遗
2018/07/24
9230
Spring MVC的模板方法模式 顶
模板方法模式是由抽象类或接口定义好执行顺序,由子类去实现,但无论子类如何实现,他都得按照抽象类或者接口定义好的顺序去执行。实例代码请参考 设计模式整理 ,Servlet的起点从Servlet接口开始。
算法之名
2019/08/20
1.7K0
Spring MVC的模板方法模式
                                                                            顶
SpringMVC 解毒4
ViewResolver 视图解析器能够通过viewName视图名和locale用户区域获取View对象,从而渲染视图。 如果你想使用自定义的一个模板引擎,就得配置上相对应的ViewResolver。
zhangheng
2020/04/28
6640
你真的了解Spring MVC处理请求流程吗?
前言 阅读本文章大概需要8分钟左右。相信会让你对Spring MVC的理解更加深刻,更上一层楼。 SpringMVC图解 粒度很粗的图解 自己画的.png
用户2032165
2018/07/02
2K0
【小家Spring】Spring MVC容器启动时,web九大组件初始化详解(Spring MVC的运行机制)
为了更好的去理解Spring MVC的工作机制,这边博文我们主要讲述Spring MVC在初始化的时候(容器启动的时候),做的一些准备工作。
YourBatman
2019/09/03
1.8K0
【小家Spring】Spring MVC容器启动时,web九大组件初始化详解(Spring MVC的运行机制)
【小家Spring】Spring MVC执行流程 FrameworkServlet、DispatcherServlet源码分析(processRequest、doDispatch)
本篇博文会更偏向于应用、更加宏观一些。 但是,本人还是建议,在了解Spring MVC的执行流程之前,先参阅这两篇博文: 【小家Spring】Spring容器(含父子容器)的启动过程源码级别分析(含web.xml启动以及全注解驱动,和ContextLoader源码分析) 【小家Spring】Spring MVC初始化(容器启动)时,Spring MVC九大组件初始化详解(Spring MVC的运行机制) 这样会有助于你更好的了解本文的一个流程,毕竟既会宏观的从步骤上去讲解,也会稍微微观(注意是稍微)的从源码角度去分析一下子
YourBatman
2019/09/03
1.3K0
【小家Spring】Spring MVC执行流程 FrameworkServlet、DispatcherServlet源码分析(processRequest、doDispatch)
【小家Spring】Spring MVC容器的web九大组件之---ViewResolver源码详解---视图View详解
上篇文章已经重点讲解过了:ViewResolver视图解析器 【小家Spring】Spring MVC容器的web九大组件之—ViewResolver源码详解—视图解析器ViewResolver详解
YourBatman
2019/09/03
1.3K0
【小家Spring】Spring MVC容器的web九大组件之---ViewResolver源码详解---视图View详解
SpringMVC详解
 【1】Spring Web MVC是基于Servlet API构建的原始Web框架,从一开始就已包含在Spring框架中。正式名称“ Spring Web MVC”来自其源模块的名称(spring-webmvc),但它通常被称为“ Spring MVC”。
忧愁的chafry
2022/11/24
5410
SpringMVC详解
Spring MVC请求处理过程。你这样回答保证通过面试!
SpringMVC请求处理相信大家都很熟悉了,本篇主要是基于SpringMVC处理请求的流程来阅读并调试源码,以及解决几个仅靠流程图无法解释的问题。
程序员白楠楠
2020/12/07
7520
Spring Boot 实现员工信息管理demo
在自定义MVC配置中重写一个 addViewControllers ,用来添加一些基本的视图控制器
LCyee
2020/08/05
1.6K0
Spring Boot 实现员工信息管理demo
ModelAndViewContainer、ModelMap、Model、ModelAndView详细介绍【享学Spring MVC】
写这篇文章非我本意,因为我觉得对如题的这个几个类的了解还是比较基础且简单的一块内容,直到有超过两个同学问过我一些问题的时候:通过聊天发现小伙伴都听说过这几个类,但对于他们的使用、功能定位是傻傻分不清楚的(因为名字上都有很多的相似之处)。 那么书写本文就是当作一篇科普类文章记录下来,已经非常熟悉小伙伴就没太大必要往下继续阅读本文内容了,因为这块不算难的(当然我只是建议而已~)。
YourBatman
2019/09/03
1.4K0
ModelAndViewContainer、ModelMap、Model、ModelAndView详细介绍【享学Spring MVC】
彻底读懂 springMVC 请求处理流程
springmvc 在web 项目中基本上是必用的,基于servlet的一种控制层框架,我们在使用的过程中往往会碰到各种问题,有时候还没有思绪解决问题,主要是因为我们对请求处理的流程不熟悉,不能快速定位都问题所在,所以总会耗费大量时间,各种百度才解决问题。如果你也有这样的困惑,不妨一起来看下springmvc 的请求处理流程。让我们能够快速定位问题。
程序员爱酸奶
2020/06/23
3.3K1
彻底读懂 springMVC 请求处理流程
Spring MVC中redirect重定向3种方式(带参数)
Spring MVC中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,其中redirect是直接跳转到其他页面,有以下3种方法进行重定向。
全栈程序员站长
2022/11/03
3.7K0
SpringMVC工作原理流程(二)
当有请求过来,首先会先调用HttpServlet的service(ServletRequest req, ServletResponse res)方法,在service方法内部调用service(HttpServletRequest request, HttpServletResponse response)方法(这个service是重载方法,参数类型不同),FrameworkServlet对这个方法重写了。FrameworkServlet方法内部会调用父类的service(HttpServletRequest request, HttpServletResponse response)方法,父类的service(HttpServletRequest request, HttpServletResponse response)方法对不同的请求类型进行了划分,比如doGet,doPost,doXXX,FrameworkServlet对每个请求类型都做了方法重写,在方法内部,都统一调用processRequest(request, response)方法进行处理。processRequest(request, response)内部会对不同请求类型请求处理。
秋白
2019/02/21
5240
SpringMVC工作原理流程(二)
推荐阅读
相关推荐
SpringMVC 中的参数还能这么传递?涨姿势了!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验