1. 程式人生 > >Spring MVC之跳轉路徑如何擺脫ViewResolver的束縛,跳轉到不同的目錄?

Spring MVC之跳轉路徑如何擺脫ViewResolver的束縛,跳轉到不同的目錄?

在使用Spring MVC的過程中,我們可能遇到這樣的問題,viewResolver的字首和字尾都進行了配置,例如下面這樣:



按這種配置來說,如果我們在Controller裡設定邏輯檢視名稱,則跳轉路徑就是/WEB-INF/jsp+邏輯檢視名+.jsp,例如:Controller如下:


那麼 ,跳轉路徑就是/WEB-INF/jsp/index.jsp!

問題來了,如果我的專案結構是這樣的:


admin所在目錄和jsp不在同一個目錄下,那這個時候再按上面的配置方式配置的話,就會見到我們親切的“404”。

那麼如何讓頁面按照我們的需求跳轉那?事實上,ModelAndView預設是以forward方式進行跳轉,即:轉發方式。

我們只要在Controller層中這麼寫,則以重定向的方式跳轉,重定向方式會衝破ViewResolver的束縛,按照Controller指定的方式跳轉。


jsp頁面請求如下:


最終結果如下:



相關推薦

Spring MVC路徑如何擺脫ViewResolver束縛不同目錄

在使用Spring MVC的過程中,我們可能遇到這樣的問題,viewResolver的字首和字尾都進行了配置,例如下面這樣: 按這種配置來說,如果我們在Controller裡設定邏輯檢視名稱,則跳轉路徑就是/WEB-INF/jsp+邏輯檢視名+.jsp,例如:Contr

Spring MVC 設定訪問錯誤路徑自動到指定頁面

在dispatcher-servlet.xml中配置如下servlet後,對於*.do結尾的url請求,將轉發給org.springframework.web.servlet.DispatcherServlet類去處理。 問題:對於不存在的頁面或者不符合匹配條件的url,瀏

[]Spring MVC @PathVariable @CookieValue@RequestParam @RequestBody @RequestHeader@SessionAttributes, @ModelAttribute

tex ice some 不同 配置 this -type pro tro 原文鏈接 http://blog.csdn.net/kobejayandy/article/details/12690161 引言: 接上一篇文章,對@RequestMapping進行地

Spring MVC請求引數和路徑變數

請求引數和路徑引數都可以用於傳送值給伺服器。二者都是URL的一部分。 一、請求引數   請求引數採用key = value形式,並用“&”分隔。例如下面的URL帶有名為name和pwd的請求引數。   localhost:9090/showU

Spring MVC 傳遞模型數據到視圖中

sage size efi ram fix post head bmi 傳遞 類似於 JSP-Servlet 中的 req.setAttribute 、 req.getSession().setAttribute ... --> 最後在 JSP 用 EL 表達式取

Spring mvc源碼 handlerMapping和handlerAdapter分析

執行方法 work 默認 生命 以及 nco refresh 實現 初始化  Spring mvc之源碼 handlerMapping和handlerAdapter分析 本篇並不是具體分析Spring mvc,所以好多細節都是一筆帶過,主要是帶大家梳理一下整個Spring

Spring mvcRestful API

clas 處的 ati code ans 指定 reat get 不能 Spring mvc之Restful API 這是一個路徑,http://127.0.0.1:8080/OperationAPI/v0.1/pins/3是API的具體網址。在RESTful架構中,每個網

Spring MVC@RequestMapping 詳解 Spring MVC@RequestMapping 詳解

轉自原文 Spring MVC之@RequestMapping 詳解 引言: 前段時間專案中用到了REST風格來開發程式,但是當用POST、PUT模式提交資料時,發現伺服器端接受不到提交的資料(伺服器端引數繫結沒有加 任何註解),查看了提交方式為application/json, 而且伺服器端通過requ

Spring MVCMultipartResolver

MultipartResolver是spring提供的檔案上傳解析器的介面,該介面有兩個實現類:StandardServletMultipartResolver、CommonsMultipartResolver,MultipartResolver#isMultipart是判斷是否檔案上傳

Spring MVCLocaleResolver

在國際化資源時,我們會通過瀏覽器的語言選項判斷客戶端的本地化型別,例如我在中國,瀏覽器預設顯示中文字元,那麼使用者在訪問伺服器時,瀏覽器中設定的本地化型別會包含在HTML請求報文中傳送給Web伺服器,如請求報文中的Accept-Language引數,假如使用者修改了瀏覽器的本地化型別,鑑

Spring MVCModelAttribute

@ModelAttribute用法 @ModelAttribute註解如果用在方法上,則用於設定引數,他會在執行處理前將引數設定到Model中。規則如下: 1)、ModelAttribute設定了value屬性,則將其value作為引數名,返回值作為引數值設定到Model

Spring mvc Junit 單元測試 Controller中方法

               Springmvc 之Junit 單元測試 1.   首先引入測試的jar包。 1.1因為我用的ide是eclipse,現只介紹eclipse中junit的使用。首先引用eclipse中自帶的junit, 方法: 右鍵專案—>proper

Spring MVC介面卡的獲取及執行(RequestMappingHandlerAdapter)

首先看下doDispatch()方法如何找到適合的介面卡來執行方法的: 1 protected HandlerAdapter getHandlerAdapter(Object handler) throws ServletException { 2 Ite

Spring MVC 自定義List繫結

Spring MVC對於普通物件可以很容易的進行資料繫結,但是對於複雜物件比如說集合就支援得不太友好。對於普通物件Spring通過在請求引數裡面引數名稱與定義的接收物件的屬性名稱一致就可以進行資料綁定了。比如: 定義的實體物件為: import lo

Spring MVC@RequestBody, @ResponseBody 詳解

引言: 接上一篇文章講述處理@RequestMapping的方法引數繫結之後,詳細介紹下@RequestBody、@ResponseBody的具體用法和使用時機; 簡介: @RequestBody 作用:       i) 該註解用於讀取Request請求的body部分

Spring MVC@RequestMapping 詳解

引言: 前段時間專案中用到了REST風格來開發程式,但是當用POST、PUT模式提交資料時,發現伺服器端接受不到提交的資料(伺服器端引數繫結沒有加任何註解),查看了提交方式為application/json, 而且伺服器端通過request.getReader() 打出的資料裡確實存在瀏覽器提交的資料。為

Spring MVC註解

本章記載學習SpringMVC時遇到的註解,以及使用方式,不定時更新 @Controller 該註解用於在類的宣告上方,表明這是SpringMVC裡的Controller,將其宣告為一個Spr

Spring MVC最簡專案配置(全註解)

Environment: Java 1.8.0_131 maven 3.5.0 InteliJ IDEA 2017.1.4 tomcat 8.5.15 簡介 Spring 的目的在於簡化Java EE應用程式的開發,依賴注

Spring MVC@ControllerAdvice詳解

       對於@ControllerAdvice,我們比較熟知的用法是結合@ExceptionHand

spring mvc如何匹配請求路徑(restful介面寫法)

  @RequestParam,你一定見過;@PathVariable,你肯定也知道;@QueryParam,你怎麼會不曉得?!還有你熟悉的他 (@CookieValue)!她(@ModelAndView)!它(@ModelAttribute)!沒錯,僅註解這塊,spring mvc就為你打開了五彩斑