0

我的问题与 Spring mvc 拦截器 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 中?

4

1 回答 1

0

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

Spring的RequestMappingHandlerAdapter实际上是从返回ModelAndView 的模型属性中添加模型属性到现有的模型属性中。如果您有Model作为处理程序方法参数之一并且您在其中添加一些属性,它们将被合并。

于 2013-06-12T20:51:54.937 回答