`
luhantu
  • 浏览: 204482 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

RedirectAttributes 使用规则

阅读更多
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Map;

/**
 * Created by kenny.dong on 2018/6/4.
 */
@RestApiController
@RequestMapping("/test")
public class RedictTest {


    @RequestMapping(value = "/testA", method = RequestMethod.GET)
    public String testA(HttpServletRequest request,
                                 HttpServletResponse response, RedirectAttributes attr){
        attr.addAttribute("test1","a");
        attr.addFlashAttribute("test2","b");
        attr.addFlashAttribute("test3","c");
        return "redirect:/test/testB";
        //浏览器的参数会有test1=a,但不会有test2=b&test3=c
    }


    @RequestMapping(value = "/testB", method = RequestMethod.GET)
    public String testB(@ModelAttribute(value = "test2")String  b, @RequestParam(value = "test1")String  a, HttpServletRequest request,
                        HttpServletResponse response, RedirectAttributes attr){
        System.out.println("test2" + b);//@ModelAttribute 可以获取addFlashAttribute放入的数据
        System.out.println("test1" + a);//@RequestParam 可以获取addAttribute 放入的数据
        Map map = (Map) request.getAttribute(DispatcherServlet.INPUT_FLASH_MAP_ATTRIBUTE);//可以获取所有的addFlashAttribute放入的数据
        attr.addAllAttributes(map);
        attr.addAttribute("test1","d");//重新覆盖其他URL跳转过来的test参数
        attr.addAttribute("test4","e");
        return "redirect:http://www.baidu.com";
    }
}

 

0
0
分享到:
评论

相关推荐

    spring mvc 登陆验证

    登录成功后,可以使用RedirectAttributes进行重定向,以防止表单重复提交。 **8. CSRF防护** 为了增强安全性,还需要考虑跨站请求伪造(CSRF)攻击的防护。Spring Security默认提供了CSRF保护,可以通过配置关闭或...

    MVC练习—照片上传

    SpringMVC中的`ModelAndView`或`RedirectAttributes`可以帮助我们构建响应视图和传递数据。 8. **前端表单**:HTML表单使用`<form>`元素配合`enctype="multipart/form-data"`属性来支持文件上传。`...

    ssm整合Demo源文件.zip

    5. **RedirectAttributes**: 如果需要进行重定向而不是转发,可以使用`RedirectAttributes`来添加模型属性,并在重定向后的请求中保留这些属性。 SSM整合的关键步骤包括: 1. **Spring配置**:配置Spring的核心...

    JAVA MVC +实例

    Spring MVC中,我们可以使用`@RequestMapping`注解来定义视图解析路径,通过`ModelAndView`或者`RedirectAttributes`对象传递数据到视图。 3. **控制器(Controller)** 控制器接收用户的请求,调用模型进行处理,...

    annotation-springMVC.rar_springmvc_springmvc API chm

    1. `@InitBinder`:用于初始化数据绑定过程,可以设置数据绑定的规则和转换器。 2. `@Async`:用于标记异步执行的方法,适用于耗时的操作。 3. `@ExceptionHandler`:捕获并处理异常,提供统一的错误页面或响应。 ...

    Spring-MVC-step-by-step2.rar

    在 Spring MVC 中,DispatcherServlet 是整个流程的核心,它负责接收请求,根据配置的映射规则找到对应的 Handler(控制器方法)。HandlerMapping 是用来实现请求到处理器映射的关键组件,而 HandlerAdapter 则负责...

    MVC 代码+文档

    在Spring MVC中,控制器通常是实现了`Controller`接口或使用了`@Controller`注解的类。它们负责接收HTTP请求,然后调用相应的服务方法处理业务逻辑,并将结果转发给视图层。 2. **Model层**:模型层主要处理业务...

    spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)

    在Spring Boot应用中,表单验证是确保用户输入符合预设规则的重要环节。本文将详细介绍如何集成Hibernate Validator进行表单验证,并在FreeMarker模板中显示错误信息。 首先,我们需要创建一个Spring Boot项目。...

    spingMVC文件上传源码案例

    可以使用`ModelAndView`或`RedirectAttributes`来传递消息。 通过以上步骤,我们可以实现Spring MVC中的单文件和多文件上传功能。在实际项目中,可能还需要考虑其他因素,如文件类型检查、异步上传、文件存储策略等...

    SpringMvc学习

    在Spring MVC中,可以使用ModelAndView对象或者@RedirectAttributes注解来实现视图的转发和重定向操作。转发是在服务器端进行的,而重定向是通过HTTP响应头中的Location字段实现客户端跳转。 十三、处理ajax请求 ...

    springMVC教程(备课笔记)

    - **RedirectAttributes**:在重定向中添加模型属性,用于文件下载链接。 9. **RESTful API支持** - 利用@RequestMapping支持HTTP动词如GET、POST、PUT、DELETE,创建符合REST原则的API。 10. **AOP(面向切面...

    powernode_springmvc源码.zip

    Spring MVC 中使用 @RedirectAttributes 和 RequestMapping 中的属性来控制这两种行为。 6. **第六章到第十章:拦截器** "ch05-url-pattern.rar"至"ch10-interceptor.rar"详细解释了 Spring MVC 的拦截器机制。...

    燕青老师springmvc的课堂教案

    通过不同的实现,如BeanNameUrlHandlerMapping、DefaultAnnotationHandlerMapping等,可以支持不同的映射规则。 5. **HandlerAdapter**:处理器适配器允许SpringMVC支持各种类型的控制器。它调用控制器的方法并处理...

    spring mvc高级技术实例详解

    可以使用RedirectAttributes接口,它允许在重定向时添加模型属性,这些属性将在目标请求中可用。 此外,Spring MVC还支持以下高级特性: - **数据绑定**:自动将请求参数绑定到Controller方法的参数,支持自定义...

    【SpringBoot快速入门】(4)SpringBoot项目案例代码示例

    在SSM集成中,SpringBoot的WebMvcConfigurerAdapter或WebMvcConfigurationSupport子类可以用来自定义SpringMVC的配置,例如URL映射规则、拦截器和静态资源处理。同时,MyBatis的SqlSessionFactory和...

Global site tag (gtag.js) - Google Analytics