我的问题与此有关 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中?
答案 0 :(得分:0)
这可能取决于您的处理程序方法签名。
Spring RequestMappingHandlerAdapter
实际上是从返回的ModelAndView
to the existing model attributes添加模型属性。如果您将Model
作为处理程序方法参数之一并且在那里添加了一些属性,那么它们将被合并。