ModelAndView模型对象在重新创建时没有清空

时间:2013-06-12 11:16:56

标签: spring modelandview

我的问题与此有关 Spring mvc interceptor addObject

在某些时候,我的应用程序需要知道previousUrl是什么,所以在某些情况下,previousUrl存储在ModelAndView中,并且可以调用'previous'。

在另一种情况下,我想进行重定向,我不希望在浏览器的URL栏中显示previousUrl。但是当我尝试初始化一个新的ModelAndView时,旧的previousUrl对象仍然存在。这怎么可能?

代码

if (requestEmployee == null) {
    LOGGER.warn("User [" + requestEmployeeName + "] not found.");
    model = new ModelAndView(AbstractController.VIEW_REDIRECT_OVERVIEW, null);
    return model;
}

应该创建一个没有模型对象的新ModelAndView ,那么为什么previousUrl对象仍然作为路径变量添加到URL中?

1 个答案:

答案 0 :(得分:0)

这可能取决于您的处理程序方法签名。

Spring RequestMappingHandlerAdapter实际上是从返回的ModelAndView to the existing model attributes添加模型属性。如果您将Model作为处理程序方法参数之一并且在那里添加了一些属性,那么它们将被合并。