`

Spring MVC中的跳转总结

阅读更多

   最近在搞Spring MVC方面的项目,脱离了SSH模式,一开始说实话多少有点儿不适应,不过Annotation式的Spring MVC 用起来越来越爽,简化了视图层太多的东西吻。这几天遇到了挺多页面跳转的问题,故而整理一下。

   1、跳转不带参数情况

   我们经常会遇到新增信息提交表单然后后台存储,这时需要我们跳转到列表页面(不需要传递任何参数)

   方式一:

     return new ModelAndView("redirect:/XXX");

   方式二:

    return "redirect:/XXX"

   方式三:

    response.sendRedirect("XXX");等等。

  2.跳转带参数情况

    方式一:

     return new ModelAndView("redirect:/XXX?a=XXX");

     方式二:

     使用RedirectAttributes的addAttribute()方法,其实实质跟方式一是一样的,只不过这个时候不许我们费力手动拼装这个url

    RedirectAttributes ra

    ra.addAttribute("a","XXX");

    return "redirect:/XXX";

   方式三:

    跳转带参数,而且参数不显示在url上

    RedirectAttributes ra

    ra.addFlashAttribute("a","XXX");

    return "redirect:/XXX";

    这种方式的原理是:将值放在session里,然后当跳转到该页面后就立即将该值从session中去除,所以会有刷新页面该值就消失的现象。ps:这时候的Redirect后跟的路径必须是方法路径,jsp路径是无效的。而且如果使用了RedirectAttributes属性,但是没有使用redirect方式,这时不会将RedirectAttribute中的值带入页面,而是默认传forward方式对应的model。

官方建议将RequestMappingHandlerAdapter的ignoreDefaultModelOnRedirect属性来提高效率,避免每次都检索。

  3.forward方式

     return  “forward:/XXX”;这种方式不像重定向Redirect,它不会改变地址栏里的url。

 

分享到:
评论

相关推荐

    Spring mvc 教程

    ### Spring MVC 教程知识点详解 #### Spring Web MVC 框架简介 Spring Web MVC 是 Spring Framework 的一个重要组成部分,主要用于构建基于 Java 的 Web 应用程序。它提供了一个灵活且强大的 MVC 实现,使得开发者...

    spring-MVC.zip_Java spring mvc_spring mvc_spring mvc

    在本实例中,我们有一个名为"spring-MVC.zip"的压缩包,里面包含了一个关于Spring MVC的开发教程,特别适合初学者进行学习。 Spring MVC的核心概念包括DispatcherServlet、Controller、Model、View和ViewModel。...

    Spring MVC点击链接,跳转到指定页面

    总结来说,Spring MVC的页面跳转涉及URL映射、控制器处理、视图解析等多个环节。通过理解这些概念,我们可以更好地诊断和解决问题,确保用户点击链接时能顺利跳转到目标页面。在实际项目中,应保持良好的代码组织和...

    spring mvc controller间跳转 重定向 传参

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

    spring mvc+maven+tomcat+浏览器服务请求,页面跳转

    基于IntelliJ IDEA,spring mvc,maven,tomcat,实现了web下,用三种方式来访问某个页面,以及页面之间的跳转

    Spring MVC源码深度剖析开源架构源码2021.pdf

    Spring MVC是Java EE开发中广泛使用的一个Web框架,它是Spring框架的一部分,主要负责Model-View-Controller(MVC)架构模式的实现。本知识点将围绕Spring MVC的源码深度剖析展开,详细介绍Spring MVC的源码结构、...

    Spring mvc工程所需jar包资源

    这个压缩包中包含的jar包资源是构建和运行Spring MVC项目所必需的依赖库。 1. **Spring Framework**: Spring的核心框架,包括IoC(Inversion of Control,控制反转)和AOP(Aspect Oriented Programming,面向切面...

    Spring 3.0 mvc 简单跳转 实例 源码

    在这个实例中,我们将深入探讨如何在Spring 3.0 MVC中实现简单的页面跳转,以及源码背后的逻辑。 1. **Spring MVC 框架简介** Spring MVC是Spring框架的一部分,它提供了一种模型-视图-控制器(MVC)架构,使得...

    基于Spring Mvc的JavaWeb项目

    在本项目中,我们探讨的是一个基于Spring MVC框架构建的JavaWeb应用。Spring MVC是Spring框架的一个模块,专为创建Web应用程序提供模型-视图-控制器(MVC)架构支持。这个项目涉及到的功能包括分页显示、单个或批量...

    Spring MVC

    在这个简单的Spring MVC登录案例中,我们主要关注的是如何利用注解(Annotation)来实现用户登录功能。注解是Spring MVC中的一种元数据,它允许我们在代码中嵌入配置信息,简化了XML配置的繁琐工作。 首先,让我们...

    junit针对spring mvc三层测试

    总结来说,使用JUnit针对Spring MVC的三层进行测试,我们需要: 1. 测试表现层(Controller),验证HTTP请求处理和视图渲染。 2. 测试业务层,确保业务逻辑的正确性和依赖隔离。 3. 测试服务数据访问层,验证数据库...

    struts1原理,struts2原理,spring mvc原理,struts1和struts2,struts和spring mvc

    Struts、Spring MVC和Struts2是Java Web开发中三个重要的MVC框架,它们都用于构建基于模型-视图-控制器(MVC)设计模式的Web应用程序。下面将分别介绍这三个框架的工作原理,并进行对比。 **Struts1原理:** Struts...

    spring mvc 自學筆記

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

    Spring mvc结果跳转方法详解

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

    ava-Spring mvc 简单搭建

    2. **Spring MVC配置**:在Spring的配置文件(如`spring-mvc.xml`)中,会定义HandlerMapping、HandlerAdapter、ViewResolver等组件,它们分别负责处理请求映射、适配控制器方法以及解析视图。 3. **Controller**:...

    spring MVC+mybatis+Mysql整合

    总结,Spring MVC + MyBatis + MySQL的整合提供了一种高效、灵活的Web应用开发模式,它允许开发者专注于业务逻辑,同时享受到这三个框架带来的便利和强大功能。通过Eclipse这样的IDE,可以更加便捷地进行项目管理和...

    Spring MVC开发配置

    本篇文章将深入探讨Spring MVC开发中的配置要点,尤其适合初学者了解和掌握。 首先,我们需要在Spring的配置文件中定义Controller的业务类。如示例代码所示,创建了一个名为`loginController`的bean,其类型为`...

    spring mvc+dwz

    在“spring mvc+dwz”演示项目中,你可能会看到以下内容: - **Controller**:使用Spring MVC的注解定义处理请求的方法,如`@RequestMapping`,并实现业务逻辑。 - **Service**:包含业务逻辑,通常使用Spring的DI...

Global site tag (gtag.js) - Google Analytics