`
TimerBin
  • 浏览: 361135 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring mvc redirect 重定向 跳转并传递参数

阅读更多

在项目中做form表单功能提交时,防止用户客户端后退或者刷新时重复提交问题,需要在服务端进行重定向跳转,具体跳转方式有以下几种方式:

公用代码:

@RequestMapping(value="/index",method = { RequestMethod.POST, RequestMethod.GET })
public  ModelAndView index(HttpServletResponse response){
	ModelAndView model = new ModelAndView("/home/index");
	return model;
}

 

 

一、使用HttpServletResponse 进行重定向跳转

  

       @RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
	public  ModelAndView toIndex(HttpServletResponse response){
		try {
			response.sendRedirect("/index");
		} catch (IOException e1) {
		}
		return null;
	}

 

二、依赖spring mvc的 ViewResolver直接跳转

 

@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
public  String toIndex(HttpServletResponse response){
	return "redirect:/index";
}

 

注:当需要传递简单参数时可以使用以上两种方式通过get方式将参数拼接到url路劲后面。

 

三、依赖Spring mvc的RedirectAttributes 

 

@RequestMapping(value="/toIndex",method = { RequestMethod.POST, RequestMethod.GET })
public  String toIndex(HttpServletResponse response,RedirectAttributes model){
	model.addFlashAttribute("userName", 'TimerBin');
	model.addFlashAttribute("userPass", 'ApeVm23U3wxEGocX');
	return "redirect:/index";
}

 在/home/index 可以直接使用${userName},${userPass}来获取重定向跳转的参数信息,这种方式可以处理复杂的参数传值问题,还可以使用此种方式来隐藏或缩短原有请求URL信息。

 

在controller中获取放在RedirectAttributes中的userName信息的方式:

 

@RequestMapping(value="/index",method = { RequestMethod.POST, RequestMethod.GET })
public  ModelAndView index(@ModelAttribute("userName") String userName){
        ModelAndView  model = new ModelAndView("/main/index"); 
	model.addObject("userName", userName);
	return model;
}

 

 注:在项目中使用RedirectAttributes,因为该对象就是把参数信息放到项目中的session中,再多台服务器中使用该对象存储参数时已经要保证sesion设置是粘性的,不然在集群服务器中不支持该对象的使用!

 

 

 

 

分享到:
评论

相关推荐

    spring mvc controller间跳转 重定向 传参

    Spring MVC controller 间跳转重定向传参 在 Spring MVC 框架中,controller 间跳转重定向传参是一个非常常见的需求。这里,我们将讨论三种常见的情况:不带参数跳转、带参数拼接 URL 形式跳转、带参数不拼接参数...

    Spring 3.0 mvc 简单跳转 实例 源码

    总的来说,Spring 3.0 MVC的简单跳转实例展示了如何使用Controller处理请求,通过视图解析器解析返回的视图名,实现页面间的重定向或转发。这个实例对于初学者理解和实践Spring MVC的Web开发非常有帮助。

    详解spring mvc 请求转发和重定向

    在Spring MVC中,可以通过注解`@RequestMapping`结合`return "forward:/path"`或`return "redirect:/path"`来实现转发或重定向。如示例代码所示: ```java @RequestMapping(value="/users") @Controller public ...

    spring mvc 自學筆記

    ### Spring MVC 数据跳转 在 Spring MVC 中,数据跳转主要指的是控制器(Controller)处理完请求后,将数据转发到视图(View)进行展示的过程。这里的“跳转”实际上是指请求处理后的视图重定向或转发。 #### 转发与...

    spring mvc 快速入门深入分析

    Spring MVC 支持两种方式来跳转页面: - **转发**:在控制器方法中返回逻辑视图名。 - **重定向**:在控制器方法中返回“redirect:/url”。 #### 十三、处理Ajax请求 Spring MVC 提供了多种方式来处理Ajax请求,...

    springmvcdemo.zip

    下面我们将深入探讨Spring MVC中重定向以及参数传递的细节。 1. **重定向概念**: 重定向是服务器告诉浏览器去访问不同的URL,而不是直接返回预期的响应。这可以通过`RedirectView`、`RedirectAttributes`或在控制...

    Spring mvc结果跳转方法详解

    Spring MVC 结果跳转方法详解 Spring MVC 结果跳转方法是指在 Spring MVC 框架中,如何将请求结果跳转到指定的页面或执行特定的操作。本文将详细介绍 Spring MVC 结果跳转方法的实现方式。 一、使用 ModelAndView ...

    SpringMVC界面跳转及参数传递.docx

    在SpringMVC中,界面跳转和参数传递是两个关键的概念,它们使得前后端交互更加灵活和高效。 首先,让我们来探讨界面跳转。在SpringMVC中,有三种主要的界面跳转方式: 1. **视图解析器(View Resolver)**:这是最...

    Spring4 In Action-5.2.2-Spring Web应用程序-简单的控制器实现跳转

    总之,"Spring4 In Action-5.2.2-Spring Web应用程序-简单的控制器实现跳转"这一部分的内容会带你了解如何使用Spring MVC创建Web应用程序的基本结构,设置控制器以响应HTTP请求,并通过视图解析实现页面间的跳转。...

    Spring MVC— 处理器(Handler)方法的返回值.docx

    总结,Spring MVC处理器方法的返回值多种多样,可以根据需求选择合适的返回类型来控制响应内容、视图跳转或数据绑定。理解并熟练运用这些返回类型是构建高效、灵活的Spring MVC应用程序的关键。

    spring-redirect:在Spring中重定向的不同方法

    本文将详细探讨在Spring中实现重定向的多种方法,并深入理解其工作原理。 首先,我们了解为什么要进行重定向。在Web应用程序中,重定向通常用于处理逻辑流程,比如用户登录后跳转到主页面、表单提交后的成功或错误...

    模拟springMVC跳转源码

    这里我们将深入探讨这两个注解的工作原理,以及如何通过模拟实现来理解Spring MVC的请求跳转机制。 `@Controller`注解: 在Java类上使用`@Controller`注解表示该类是一个处理HTTP请求的控制器。这个注解将类声明为...

    转发和重定向的区别

    在工具选择上,如Spring MVC框架中,可以通过`RedirectAttributes`来方便地实现重定向,并传递附加信息。 总之,转发和重定向都是Web开发中的重要概念,它们各有优缺点,理解其工作原理并合理应用,能够帮助我们...

    java版微信授权认证登录spring-mvc by WangJx

    在Spring MVC框架中,你可以通过拦截器或者控制器方法来处理微信返回的code,并完成上述步骤。使用Spring的RestTemplate或HttpComponents等工具发送HTTP请求,解析响应结果。同时,可以将获取到的用户信息存储在...

    (代码)SpringMVC第6讲:请求转发和重定向

    在Spring MVC框架中,请求转发和重定向是两种常见的页面跳转方式,它们在处理用户请求和构建应用程序的流程控制中扮演着重要角色。本文将深入探讨这两种技术,并结合实际的代码示例来阐述其工作原理和使用场景。 ...

    JAVA框架面试题汇总编程资料

    Spring MVC支持多种视图跳转的方式,可以通过返回不同的字符串来控制跳转逻辑,如“redirect:/somePage”表示重定向到某个页面,“forward:/somePage”表示转发到某个页面。此外,还可以通过在Controller中返回特定...

    springmvc-demo07-响应(数据共享,页面跳转).zip

    在本项目"springmvc-demo07-响应(数据共享,页面跳转)"中,我们将深入探讨如何使用Spring MVC处理数据响应以及实现页面间的跳转。 1. **数据共享**:在Web应用中,数据共享通常涉及在不同的请求之间传递信息。...

    ssm整合Demo源文件_触发异常后跳转控制

    在异常处理中,Spring MVC可以通过配置`@ExceptionHandler`注解或者全局异常处理器(如`HandlerExceptionResolver`接口实现类)来捕获并处理异常。 3. **MyBatis**:MyBatis是一个轻量级的持久层框架,它将SQL语句...

    springmvc配置和实现登录小案例

    - **视图跳转**:登录成功后,使用 `return "redirect:/success"` 或 `return "success"` 来重定向或转发到成功页面。 - **异常处理**:可以使用 `@ExceptionHandler` 处理登录失败的情况,比如用户名或密码错误。...

Global site tag (gtag.js) - Google Analytics