当前位置: 首页 > 编程笔记 >

SpringMVC 跨重定向请求传递数据的方法实现

养俊驰
2023-03-14
本文向大家介绍SpringMVC 跨重定向请求传递数据的方法实现,包括了SpringMVC 跨重定向请求传递数据的方法实现的使用技巧和注意事项,需要的朋友参考一下

执行完post请求后,通常来讲一个最佳实践就是执行重定向。重定向将丢弃原始请求数据,原始请求中的模型数据和请求都会消亡。可以有效避免用户浏览器刷新或者后退等操作,直接间接地重复执行已经完成的post请求。

在控制方法中返回的视图名称中,在String前使用"redirect:"前缀,那么这个String就不是来查找视图的,而是浏览器进行重定向的路径,相当于重新发出请求。

重定向通常相当于从一个controller到另一个controller。 

(1)使用URL模板以路径变量和查询参数的形式传递数据(一些简单的数据)

@GetMapping("/home/index")
  public String index(Model model){
    Meinv meinv = new Meinv("gaoxing",22);
    model.addAttribute("lastName",meinv.getLastName());
    model.addAttribute("age",meinv.getAge());
    return "redirect:/home/details/{lastName}";
  }

  @GetMapping("/home/details/{lastName}")
  public String details(@PathVariable String lastName, @RequestParam Integer age){
    System.out.println(lastName);
    System.out.println(age);
    return "home";
  }

(2)通过flash属性发送数据(对象等复杂数据)

@GetMapping("/home/index")
  public String index(RedirectAttributes model){
    Meinv meinv = new Meinv("gaoxing",22);
    model.addAttribute("lastName",meinv.getLastName());
    model.addFlashAttribute("meinv",meinv);
    return "redirect:/home/details/{lastName}";
  }

  @GetMapping("/home/details/{lastName}")
  public String details(@PathVariable String lastName, Model model){
    Meinv meinv = null;
    if(model.containsAttribute("meinv")){
      meinv = (Meinv) model.asMap().get("meinv");
    }
    System.out.println(meinv);
    return "home";
  }

到此这篇关于SpringMVC 跨重定向请求传递数据的方法实现的文章就介绍到这了,更多相关SpringMVC 跨重定向传递数据内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!

 类似资料:
  • 本文向大家介绍springmvc重定向实现方法解析,包括了springmvc重定向实现方法解析的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了springmvc重定向实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 (1)一般情况下,控制器方法返回字符串类型的值会被当做逻辑视图名来处理。 (2)如果返回的字符串带forwar

  • 本文向大家介绍Springmvc ajax跨域请求处理方法实例详解,包括了Springmvc ajax跨域请求处理方法实例详解的使用技巧和注意事项,需要的朋友参考一下 上次给一个网站写网站  前后端分离 最后跪在ajax跨域上面了  自己在网上找了个方法  亲试可用  记录一下 写一个类  继承HandlerInterceptorAdapter 然后在xml里面配置一下路径  这样就可以了  不过

  • 本文向大家介绍springMvc请求的跳转和传值的方法,包括了springMvc请求的跳转和传值的方法的使用技巧和注意事项,需要的朋友参考一下 forword跳转页面的三种方式: 1.使用serlvet 2.使用Model对象 3.使用ModelAndView 当然也可以通过new 一个ModelAndView对象来实现 forword跳转到Controller中的方法: 跳转到相同类中的方法 跳

  • 本文向大家介绍Angular.js跨controller实现参数传递的两种方法,包括了Angular.js跨controller实现参数传递的两种方法的使用技巧和注意事项,需要的朋友参考一下 前言 由于controllers之间不共享scope,如果希望在controllers之间传递参数,可能需要通过其他的方式实现,以下是当前我用到的两种在controllers之间传递参数的方法。 注:参考文章

  • 问题内容: 在flask中,我可以这样做: 并且如果foo.html包含,页面将会显示。但是,如果有一条通往foo的路线怎么办: 在这种情况下,如果我仍然希望这种逻辑发生,那么进入foo.html的唯一方法是通过: 因此,如何使该变量传递到路由,这样我不必在加载路由之前重写重写该路由计算的逻辑代码? 问题答案: 你可以将消息作为显式URL参数传递(正确编码),也可以在重定向之前将消息存储到(coo

  • 问题内容: 我需要通过POST请求将用户重定向到外部站点。 我发现的唯一选择是通过JavaScript提交表单。 有任何想法吗? 问题答案: 你的意思还不太清楚,所以让我们来看一些情况: 用户应将表格过帐到你自己以外的服务器上 简单,只需将目标指定为表单操作即可: 成功提交POST后应重定向用户 像往常一样轻松地接受和处理POST数据,然后使用或重定向标头进行响应。 用户应将数据发布到你的服务器,