重定向和modelandview内部重定向之间的区别
在spring控制器类中重定向到url
有些地方全部使用
return "redirect:/abc.htm";
。也使用
return new ModelAndView("redirect:/abc.htm")
。
任何人都请解释这两种陈述的异同。
在什么情况下必须使用它。
罗希特:
我正在使用RedirectAttribute从旧网址获取值。在这种情况下,使用此功能会获得价值,return "redirect:/abc.htm";
但不能获得此价值 return new ModelAndView("redirect:/abc.htm")
。
有什么区别吗RedirectAttributes
回答:
声明:
return "redirect:/abc.htm"return new ModelAndView("redirect:/abc.htm")
做同样的事情:redirects
的请求abc.htm
。如果返回的视图名称带有前缀redirect:
,则将其识别为需要重定向的特殊指示。视图名称的其余部分将被视为重定向URL。
与声明
return "redirect:/abc.htm"
您只能返回重定向视图名称。
随着ModelAndView
你便可返回model
,并view
在一个单一的返回值:
ModelAndView modelAndView = new ModelAndView("redirect:/abc.htm");modelAndView.addObject("modelAttribute" , new ModelAttribute());
return modelAndView;
但是,属性值将在客户端(浏览器)将为URL发出的新重定向请求中不可用/abc.htm
。最好的用法ModelAndView
是将请求转发到新URL时,以便您可以将两者model
和view
一起返回为单个返回值。对于重定向方案,如果要传递属性,则应使用RedirectAttributes
。
以上是 重定向和modelandview内部重定向之间的区别 的全部内容, 来源链接: utcz.com/qa/403355.html