[英]Why does spring resolve views only when one level url path present on controller request mapping annotation
我正在使用Spring MVC实现一个网站,并且注意到以下问题。 我有一个像这样的控制器
/**
* Created by adelin.ghanayem@cayetanogaming.com on 4/7/15.
*/
@Controller
@RequestMapping(value = "/")
public class UserControlPanelController {
// this url has a second level. /user/panel
@RequestMapping(value = "/user/panel",method = RequestMethod.GET)
@Secured(value = {"ROLE_USER"})
public ModelAndView mainPage(){
return new ModelAndView("user-panel.jsp");
}
}
我收到的视图user-panel.jsp不是解析器
HTTP ERROR 404
Problem accessing /myapp/user/login-user.jsp. Reason:
/myapp/user/login-user.jsp
但是,当我将方法映射到@RequestMapping(value = "/user",method = RequestMethod.GET)
视图已解决。 jsp页面位于webapp的根目录(Web目录)
现在,当我尝试将方法映射到@RequestMapping(value = "/user/panel",method = RequestMethod.GET)
并return new ModelAndView("/user-panel.jsp");
注意根碎片。 视图已正确解决。
您需要在配置中指定视图解析器,以便Spring知道在哪里查找视图。 如果不提供,则必须指定文件的路径,这就是为什么“ user-panel.jsp”不起作用,而“ /user-panel.jsp”起作用的原因。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.