当前位置: 首页 > 知识库问答 >
问题:

后模型重定向AndView不工作

宗鸿博
2023-03-14

我不知道在modelAndView中发布后如何重定向

@PostMapping("/admin/nuevo_equipo")
public ModelAndView createEntrenador(@Valid Equipo equipo, BindingResult bindingResult) {
    ModelAndView model = new ModelAndView();
    equipoService.save(equipo);
    model.addObject("msg", "entrenador creado con exito");
    model.setViewName("/administrador/nuevo_equipo");
    return model;
}

我该怎么做?

共有2个答案

尉迟明贤
2023-03-14

有几种可能性。。。在你的情况下,以下是一个很好的适合

@PostMapping("/admin/nuevo_equipo")
public ModelAndView createEntrenador(@Valid Equipo equipo, BindingResult bindingResult, ModelMap model) {
    equipoService.save(equipo);
    model.addAttribute("msg", "entrenador creado con exito");
    return new ModelAndView("redirect:/REDIRECT_URL", model);
}

重要的是要知道,您的重定向是对新URL的重定向,而不是直接用新视图进行响应。

禹正阳
2023-03-14

正常重定向,如下所示。

@RequestMapping(value = "/redirect", method = RequestMethod.GET)
public ModelAndView method() {
    return new ModelAndView("redirect:" + url);
}

通过重定向发送数据(flash属性数据在URL中不可见):

@RequestMapping(value="/someURL", method=GET)
public String yourMethod(RedirectAttributes redirectAttributes)
{
   ...
   redirectAttributes.addAttribute("rd", "rdValue");
   redirectAttributes.addFlashAttribute("fa", faValue);
   return "redirect:/someOtherURL";
}

正如我从代码中看到的那样,您试图发送数据时也会同时进行重定向,所以请使用第二种方法。

另请参见此spring redirectattributes addattribute vs addflashattribute

 类似资料:
  • 我尝试从登录页面获取密码,然后尝试从mysql收集存储的密码。然后我将其与提交的密码进行比较。现在我想,如果两个密码匹配,然后重定向到一个页面。但问题是每次页面重定向时。如果密码与页面重定向不匹配。 我已经删除了这个功能,并试图以简单的方式做它。但仍然不起作用。编辑代码:

  • 在插入数据库后,我一直在尝试重定向,但它不起作用。插入工作正常,但没有重定向。这是我的代码

  • 我正在尝试将所有http流量的重定向配置为仅重定向到https。我的配置如下 我们使用的是弹性负载均衡和 EC2 实例 在这种情况下,已配置应用程序负载均衡器。 后端服务器正在使用 Nginx 在端口 443 上工作 为 http 到 https 重定向配置了 Nginx 重定向规则 为端口 80 和 443 配置了 ELB 侦听器 在支持的服务器和 ELB 中都安装了 SSL 证书 我的问题是,

  • 完成注销后,Azure注销页面不会重定向用户。它只返回以下信息: 你注销了你的账户。关闭所有浏览器窗口是个好主意。 我尝试了不同的注销URL,我发现: > https://login.microsoftonline.com/MY_TENANT/oauth2/logout?post_logout_redirect_uri=https://micway.com.au/ https://login.mi

  • 每个人登录后,我一直无法使用Laravel重定向。连接工作,在我登录后,它重定向到一个空白页面,但如果我更改url路径,我可以访问不同的网页。我们将不胜感激!我正在使用LDAP进行连接,它正在工作。 请让我知道,如果有任何其他代码,我应该提供。 非常感谢。 (重定向IfAuthenticated.php) 命名空间应用程序\ Http\中间件; 使用闭包;使用Illumb\Support\Faca

  • 我有一个登录表单,在单击时调用以下函数。 然后使用重定向 但我面临的问题是,当我第一次登录时,重定向无法工作。它设置了所有的cookie等等,但是它从来没有将用户重定向到想要的目录。所以我被迫在浏览器搜索栏中输入我想要的路由来重定向自己。 这意味着,一旦我强迫自己进入想要的目录,如果我注销(基本上删除cookies),并尝试再次登录。这一次重定向起作用了。 在我用Ctrl+F5清除所有缓存之前,它