天天看點

spring mvc controller傳回值的類型①傳回ModeAndView  ②傳回String③傳回void

①傳回ModeAndView 

※ModeAndView請求轉發

spring mvc controller傳回值的類型①傳回ModeAndView  ②傳回String③傳回void

說明:傳回的modelAndView會傳回到前端控制器進行處理,實際上進行了請求轉發到傳回的試圖的面,ModeAndView裡面的模型資料也被寫進了request域中一同轉發到了試圖的這個頁面,是以在試圖的頁面中可以request.getAttribute()或者el表達式,擷取到被寫進ModeAndView的模型資料。ModeAndView這個類有很多的構造方法用于初始化模型和試圖。傳回的試圖是邏輯試圖,要通過試圖解析器加上前字尾形成真正的試圖的url。

※ModeAndView重定向

spring mvc controller傳回值的類型①傳回ModeAndView  ②傳回String③傳回void

說明:用ModeAndView進行重定向,需要指定的視圖的url前面加上redirect:,如果需要傳參的話,可以在url後面進行參數的拼接,通過request.getParameter()進行參數的擷取。

②傳回String

※請求轉發

spring mvc controller傳回值的類型①傳回ModeAndView  ②傳回String③傳回void

說明:加上forward的話,不會加上前字尾,是以必須把轉發的url寫全,加上forward可以重定向到其他方法中進行處理。不加forward,隻需要寫邏輯視圖名,視圖解析器會加上前字尾,一般重定向到前端jsp頁面。如果需要傳值的話,可以直接在方法裡面進行參數綁定model對象,往model裡面添加資料,實際上是寫到了request域中,當然也可以綁定request對象,直接往request裡面寫資料。通過el表達式,或者request.getAttribute()擷取。

※重定向

spring mvc controller傳回值的類型①傳回ModeAndView  ②傳回String③傳回void

說明:給傳回的url前面加上redirect進行重定向,可以通過url拼接傳值。

③傳回void

spring mvc controller傳回值的類型①傳回ModeAndView  ②傳回String③傳回void

說明:傳回值是void的時候,我們可以通過response輸出流把資料寫出去到請求頁面,也可以用request和response進行請求轉發和重定向。

總結:   用戶端和伺服器的互動,無非就是用戶端發起請求,伺服器接受請求,接下來三種情況:直接處理完後傳回結果,在伺服器内部進行請求轉發然後傳回處理結果,重定向傳回。萬變不離其宗,頁面的跳轉方式有很多種,無非就是對request,getRequestDispatcher("url").forward(requst.response)請求轉發和response.sendRedirect("url");重定向的封裝。

做為一個剛為行的菜鳥中的菜鳥,不會的太多太多,哈哈,但是千裡之行始于足下,平生第一次寫部落格,希望可以堅持,加油加油加油!!!