springboot 如何重定向redirect 并隐藏参数

目录
  • springboot 重定向redirect 并隐藏参数
    • 1、全局异常处理方法
    • 2、重定向方法
  • springboot redirect 传参问题
    • 具体案例

springboot 重定向redirect 并隐藏参数

在做全局异常处理的时候,碰到重定向到全局错误页面

所谓隐藏参数无非是把参数放到了session中,再重定向后将该值清除

1、全局异常处理方法

@ExceptionHandler(value = Exception.class)
public ModelAndView exceptionHandle(RedirectAttributes redirectAttributes) {
    ModelAndView modelAndView = new ModelAndView("redirect:/systemError");
    redirectAttributes.addFlashAttribute("error", "错误信息");
    return modelAndView;
}

2、重定向方法

@GetMapping("/systemError")
public ModelAndView systemError(@ModelAttribute("error") String error){
    ModelAndView modelAndView = new ModelAndView("error");
    modelAndView.addObject("error", error);
    return modelAndView;
}

springboot redirect 传参问题

众所周知:

redirect表示重定向,相比于请求转发,无法将添加的参数继续保留,传递给下一个处理对象,但springboot给我们提供了一个方法,redirectattributes的addflashattribute方法将参数,即使通过重定向也能传递出去,底层原理使用的是缓存临时保存 重定向所携带的参数

具体案例

controller

前端

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • Spring RedirectAttributes参数跳转代码实例

    RedirectAttributes 是Spring mvc 3.1版本之后出来的一个功能,专门用于重定向之后还能带参数跳转的的工具类.他有两种带参的方式: 第一种: redirectAttributes.addAttributie("prama",value); 这种方法相当于在重定向链接地址追加传递的参数,例如: redirectAttributes.addAttributie("prama1",value1); redirectAttributes.addAt

  • Springboot转发重定向实现方式解析

    1.转发 方式一:使用 "forword" 关键字(不是指java关键字),注意:类的注解不能使用@RestController 要用@Controller @RequestMapping(value="/test/test01/{name}" , method = RequestMethod.GET) public String test(@PathVariable String name) { return "forword:/ceng/hello.h

  • Spring 重定向(Redirect)指南及相关策略问题

    概述 本文将重点介绍在 Spring 中实现重定向(Redirect),并将讨论每个策略背后的原因. 为什么要重定向? 让我们先来考虑在 Spring 应用程序中为什么您可能需要做一个重定向的原因. 当然有很多可能的例子和原因. 一个简单的可能是 POST 表单数据,围绕双重提交问题,或者只是将执行流委托给另一个控制器方法. 附注一点,典型的 Post / Redirect / Get 模式并不能充分解决双重提交问题 - 在初始提交完成之前刷新页面的问题可能仍然会导致双重提交. 使用  Redi

  • 浅谈Spring 重定向指南

    1. 概述 本文将重点介绍在 Spring 中实现重定向(Redirect),并将讨论每个策略背后的原因. 2. 为什么要重定向? 让我们先来考虑在 Spring 应用程序中为什么您可能需要做一个重定向的原因. 当然有很多可能的例子和原因. 一个简单的可能是 POST 表单数据,围绕双重提交问题,或者只是将执行流委托给另一个控制器方法. 附注一点,典型的 Post / Redirect / Get 模式并不能充分解决双重提交问题 - 在初始提交完成之前刷新页面的问题可能仍然会导致双重提交. 3.

  • 详解SpringMVC重定向传参数的实现

    在spring的一个controller中要把参数传到页面,只要配置视图解析器,把参数添加到Model中,在页面用el表达式就可以取到.但是,这样使用的是forward方式,浏览器的地址栏是不变的,如果这时候浏览器F5刷新,就会造成表单重复提交的情况.所以,我们可以使用重定向的方式,改变浏览器的地址栏,防止表单因为刷新重复提交. jsp文件: <%@ page language="java" contentType="text/html; charset=UTF-8&q

  • springboot 如何重定向redirect 并隐藏参数

    目录 springboot 重定向redirect 并隐藏参数 1.全局异常处理方法 2.重定向方法 springboot redirect 传参问题 具体案例 springboot 重定向redirect 并隐藏参数 在做全局异常处理的时候,碰到重定向到全局错误页面 所谓隐藏参数无非是把参数放到了session中,再重定向后将该值清除 1.全局异常处理方法 @ExceptionHandler(value = Exception.class) public ModelAndView except

  • 使用SpringMVC在redirect重定向的时候携带参数的问题

    目录 在redirect重定向的时候携带参数问题 1. addAttribute 2. addFlashAttribute redirect重定向3种方式(带参数) redirect重定向流程 1. response.sendRedirect重定向跳转 2. ViewResolver直接跳转 3. ModelAndView重定向 在redirect重定向的时候携带参数问题 SpringMVC 中常用到 redirect来实现重定向.但使用场景各有需求,如果只是简单的页面跳转显然无法满足所有要求,

  • Spring Boot项目@RestController使用重定向redirect方式

    目录 Spring Boot @RestController重定向redirect 解决方法如下 @RestController 注释下的重定向探讨 背景 那么springmvc内部的逻辑是如何走的呢? 下面是springmvc 默认的15种HandlerMethodReturnValueHandler Spring Boot @RestController重定向redirect Spring MVC项目中页面重定向一般使用return "redirect:/other/controller/&

  • SpringBoot实现动态控制定时任务支持多参数功能

    由于工作上的原因,需要进行定时任务的动态增删改查,网上大部分资料都是整合quertz框架实现的.本人查阅了一些资料,发现springBoot本身就支持实现定时任务的动态控制.并进行改进,现支持任意多参数定时任务配置 实现结果如下图所示: 后台测试显示如下: github 简单demo地址如下: springboot-dynamic-task 1.定时任务的配置类:SchedulingConfig import org.springframework.context.annotation.Bean

  • ORACLE隐藏参数查看及修改的方法

    查看隐藏参数 SELECT x.ksppinm name, y.ksppstvl value, y.ksppstdf isdefault, decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod, decode(bitand(y.ksppstvf,2),2,'TRUE','FALSE') isadj FROM sys.x$ksppi x, sys.x$ksppcv y WHERE x.inst_id = use

  • Springboot使用@Valid 和AOP做参数校验及日志输出问题

    项目背景 最近在项目上对接前端的的时候遇到了几个问题 1.经常要问前端要请求参数 2.要根据请求参数写大量if...else,代码散步在 Controller 中,影响代码质量 3.为了解决问题1,到处记日志,导致到处改代码 解决方案 为了解决这类问题,我使用了@Valid 做参数校验,并使用AOP记录前端请求日志 1.Bean实体类增加注解 对要校验的实体类增加注解,如果实体类中有List结构,就在List上加@Valid @Valid注解 注解 备注 @Null 只能为null @NotNu

  • springboot中不能获取post请求参数的解决方法

    问题描述 最近在做微信小程序,用的spring boot做后端,突然发现客户端发送post请求的时候服务端接收不到参数.问题简化之后如下: 微信小程序端: 在页面放一个按钮进行测试 <!--index.wxml--> <view class="container"> <button catchtap='testpost'>点击进行测试</button> </view> 绑定一个函数发送post请求 //index.js //获

  • vue中重定向redirect:‘/index‘,不显示问题、跳转出错的完美解决

    在路由配置中,设置重定向后,浏览器打开是空白没有内容,这里首先确保你的结构没有写错,然后查看单词是否拼错误,一般情况是因为单词拼写错误. 修改后,跳转成功: 附录:VUE通过后端重定向到VUE的页面后,前端路由失效的解决方案 这个问题是我在做微信授权登录的时候遇到的. 具体描述: 用户打开页面后,路由拦截判断用户是否登录,如果未登录,则将用户的访问地址记录到localStorage里面,等待授权后重定向到该页面. 当我使用location.href将页面跳转到后端地址,进行微信用户信息获取完成,

  • 详解SpringBoot配置文件启动时动态配置参数方法

    序言 当我们要同时启用多个项目而又要使用不同端口或者变换配置属性时,我们可以在配置文件中设置${变量名}的变量来获取启动时传入的参数,从而实现了动态配置参数,使启用项目更加灵活 例子 server: port: ${PORT:50101} #服务端口 spring: application: name: xc‐govern‐center #指定服务名 eureka: client: registerWithEureka: true #服务注册,是否将自己注册到Eureka服务中 fetchReg

  • SpringBoot在RequestBody中使用枚举参数案例详解

    前文说到 优雅的使用枚举参数 和 实现原理,本文继续说一下如何在 RequestBody 中优雅使用枚举. 本文先上实战,说一下如何实现.在 优雅的使用枚举参数 代码的基础上,我们继续实现. 确认需求 需求与前文类似,只不过这里需要是在 RequestBody 中使用.与前文不同的是,这种请求是通过 Http Body 的方式传输到后端,通常是 json 或 xml 格式,Spring 默认借助 Jackson 反序列化为对象. 同样的,我们需要在枚举中定义 int 类型的 id.String

随机推荐