繁体   English   中英

为什么只有当控制器请求映射注释中存在一个级别的URL路径时,Spring才会解析视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM