(SpringMVC)響應數據和結果視圖:轉發和重定向

一、forward 轉發

controller 方法在提供了 String 類型的返回值之後,默認就是請求轉發。
我們也可以寫成:

/**
* 轉發
* @return
*/
@RequestMapping("/testForward")
public String testForward() {
	System.out.println("AccountController 的 testForward 方法執行了。。。。 ");
	return "forward:/WEB-INF/pages/success.jsp";
}

需要注意的是,如果用了 formward: 則路徑必須寫成實際視圖 url,不能寫邏輯視圖,因爲此時無法通過視圖解析器去解析。

它相當於“ request.getRequestDispatcher("url").forward(request,response)” 。使用請求
轉發,既可以轉發到 jsp,也可以轉發到其他的控制器方法。

二、Redirect 重定向

contrller 方法提供了一個 String 類型返回值之後, 它需要在返回值裏使用:redirect:

/**
* 重定向
* @return
*/
@RequestMapping("/testRedirect")
public String testRedirect() {
	System.out.println("AccountController 的 testRedirect 方法執行了。。。。 ");
	return "redirect:/index.jsp";
}

它相當於“response.sendRedirect(url)” 。需要注意的是,如果是重定向到 jsp 頁面,則 jsp 頁面不
能寫在 WEB-INF 目錄中,否則無法找到

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章