Java modelandview内部重定向和重定向之间的区别
在spring控制器类中重定向到urlJava modelandview内部重定向和重定向之间的区别,java,spring,spring-mvc,Java,Spring,Spring Mvc,在spring控制器类中重定向到url 有些地方全部使用返回“重定向:/abc.htm” 还可以使用返回新的ModelAndView(“重定向:/abc.htm”) 请任何人解释这两种说法的异同 在什么情况下它必须使用 罗希特: 我使用RedirectAttribute从旧url获取值。 在这种情况下,我在使用此返回“redirect:/abc.htm”时获得值 但不在此返回新模型和视图(“重定向:/abc.htm”) 以下语句在重定向属性方面是否有差异: return "redirect
- 有些地方全部使用
返回“重定向:/abc.htm”代码>
- 还可以使用
返回新的ModelAndView(“重定向:/abc.htm”)
罗希特: 我使用RedirectAttribute从旧url获取值。 在这种情况下,我在使用此
返回“redirect:/abc.htm”时获得值代码>
但不在此返回新模型和视图(“重定向:/abc.htm”)
以下语句在重定向属性方面是否有差异:
return "redirect:/abc.htm"
return new ModelAndView("redirect:/abc.htm")
做同样的事情:将请求重定向到abc.htm
。如果返回的视图名称具有
前缀重定向:
,这被认为是需要重定向的特殊指示。视图名称的其余部分将被视为重定向URL
我同意你的说法
return "redirect:/abc.htm"
您只能返回重定向视图名称
使用model和view
可以在单个返回值中同时返回model
和view
:
ModelAndView modelAndView = new ModelAndView("redirect:/abc.htm");
modelAndView.addObject("modelAttribute" , new ModelAttribute());
return modelAndView;
但是该属性值在客户端(浏览器)为URL/abc.htm
发出的新重定向请求中不可用。model和view
的最佳用途是将请求转发到新的URL,这样您就可以在单个返回值中同时返回model
和view
。对于重定向方案,如果要传递属性,应使用RedirectAttributes
他们两人做同样的工作。返回ModelAndView
是Spring2.0之前的老方法。