簡體   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