如何在 ModelAndView 中使用重定向
Posted
技术标签:
【中文标题】如何在 ModelAndView 中使用重定向【英文标题】:How to use Redirect in ModelAndView 【发布时间】:2017-08-22 02:25:15 【问题描述】:我想将我的网址重定向到 http://localhost:8080/ClickBuy/product/details 到 http://localhost:8080/ClickBuy/home 。
我定义了 header.jsp 并将其包含在我的所有页面中。当我从其他任何 url 中单击主页链接时,从当前 url 添加 /home。所以它显示 404 错误。
控制器
public ModelAndView allProduct()
ModelAndView model=new ModelAndView("pl");
model.addObject("data", pd.getAllProducts());
return model;
如何在ModelAndView返回类型方法中使用redirect:/???
【问题讨论】:
***.com/a/17961336/3959856 【参考方案1】:要使用重定向:/ 在 ModelAndView 返回类型方法中,您可以尝试以下
ModelAndView modelAndView = new ModelAndView("redirect:/abc.htm");
modelAndView.addObject("modelAttribute" , new ModelAttribute());
return modelAndView;
如果主页不需要任何模型,也可以使用String returntype返回主页
@RequestMapping(value = "/home.htm", method = RequestMethod.GET)
public String homePage()
return "home";
【讨论】:
'ModelAttribute' 是抽象的;无法实例化。【参考方案2】:有不同的重定向方式,但使用 Spring ModelView 对象很简单
@RequestMapping(value = "/redirecturl", method = RequestMethod.POST)
public ModelAndView methodPost()
return new ModelAndView( "redirect:/login.html");
【讨论】:
我使用了上述方法,但是重定向到外部 URL 是使用 POST 方法发生的,我可以将其更改为 GET 吗?以上是关于如何在 ModelAndView 中使用重定向的主要内容,如果未能解决你的问题,请参考以下文章
ModelAndView的使用 包括 forward转发、redirec重定向
返回ModelAndView时尝试使用“redirect:”前缀重定向页面时的状态404
Spring 控制器方法的返回值类型ModelAndView当中页面当中数据的传输(通过转发和重定向)