【发布时间】:2014-10-05 00:57:56
【问题描述】:
在我们经常使用 return new ModelAndView(new RedirectView("/url")) 从 Spring 控制器返回重定向之前,使用老式(扩展 *Controller)控制器时。
升级到 Spring 4.0 (@Controller) 后,我们开始使用 return "redirect:/url" 从 @RequestMapping 注释的方法中执行相同的操作。然而,我们注意到 Spring 将 all 模型属性添加到生成的重定向 URL。这对我们来说是非常不受欢迎的行为。
更糟糕的是:因为它们被添加到“位置”HTTP 标头(HTTP 302 的标准)中,这使得 Tomcat 抛出以下异常:
Aug 11, 2014 2:42:31 PM org.apache.coyote.ajp.AjpProcessor process
SEVERE: Error processing request
java.lang.ArrayIndexOutOfBoundsException: 8192
at org.apache.coyote.ajp.AjpMessage.appendByte(AjpMessage.java:146)
想到的一个解决方案是在每次重定向之前清除模型,但这相当麻烦。
有没有办法配置 Spring 不将所有模型属性添加到重定向 url?
【问题讨论】:
标签: spring-mvc