2014-02-19 96 views
0

我的主要问题是从一个控制器返回一个字符串的路径变量值。返回带有pathvariable到另一个控制器的字符串

在这里看到:

@RequestMapping(value = "/profile/{location}") 
public ModelAndView profile(@PathVariable("location") String location) throws Exception { 
    return new ModelAndView("profile", "*", *); 
} 

@RequestMapping(value = "/records", method = "RequestMethod.POST") 
public String inRecords(@Valid User user, BindingResult result) { 
    if(result.hasErrors()) { 
     return "profile/system"; 
    } 
    else { 
     ..... 
     return "somewhere"; 
    } 
} 

我在这里的问题是回报 “的个人资料/系统”WEB-INF /视图/型材/ system.jsp。我是否做错了@PathVariable或者与return语句本身?

有什么建议吗?

+0

查找到重定向属性。 –

+0

刚刚尝试过,但错误仍不会显示。 – user3326270

+0

这些错误不仅仅出现在他们自己身上。这取决于你如何使用它们。 –

回答

1

为什么你不尝试这样的事情。

@RequestMapping(value = "/records", method = "RequestMethod.POST") 
public void inRecords(@Valid User user, HttpServletResponse response) { 
    if(result.hasErrors()) { 
     response.sendRedirect("/YourApp/profile/system") 
    } 

我觉得ModelAndView上走的是返回的字符串,并尝试运行的ViewResolver试图获得JSO,避免调用,或直接将请求重定向到所需的端点。

,或者如果你想保留的ModelAndView使用

return new ModelAndView("redirect:/profile/system"); 
+0

谢谢:)!我刚才发现,尽管它的做法很糟糕,我只是将ModelAndView配置文件的内容复制到result.hasErrors()下,并使用了返回新的ModelAndView(“profile”,“*”,*)。 – user3326270

相关问题