1. 程式人生 > >SpringMVC使用mvc:view-controller直接轉發頁面

SpringMVC使用mvc:view-controller直接轉發頁面

配置直接轉發的頁面(如首頁)

<mvc:view-controller/>此標籤用以在springMVC配置檔案中實現路徑的轉發和資源的請求。

使用場景:一般springmvc都是經過Controller,但是當我們不想經過Controller,而是直接訪問檢視的時候。就可以通過它。

<mvc:view-controller path="" view-name=""/>標籤的作用:

      對應WEB-INF目錄下面的JSP頁面,我們知道是不能直接使用URL訪問到。需要通過在控制器中做轉發對映訪問,對應一些我們不需要其他操作的JSP頁面(首頁),我們可以使用它來配置,這樣就可以不通過控制器去做轉發對映訪問jsp頁面

。例如:訪問專案進入index.jsp頁面,不通過controller

      path表示請求的路徑

      view-name:表示可為需要對映的檢視名,或者為重定向路徑,輸入redirect:路徑,然後會匹配requestmapping路徑。 

其中path會首先匹配requestmapping路徑,然後再進行view-name的資源尋找對應的jsp頁面。

注意:有這個配置後,正常的需要通過Controller類的方法的Url就會訪問出錯,解決方法加<mvc:annotation-driven />配置

1. 測試1

<mvc:view-controller path="/" view-name="index"/>
或者
<mvc:view-controller path="" view-name="index"/>

  

2. 測試2

<mvc:view-controller path="/" view-name="index"/>
或者
<mvc:view-controller path="" view-name="index"/>

  

3. 測試3

<mvc:view-controller path="/" view-name="index"/>
或者
<mvc:view-controller path="" view-name="index"/>

  

測試結果一樣:

  

4. 重定向測試4

<mvc:view-controller path="/" view-name="redirect: /sshweb/users"/>
或者
<mvc:view-controller path="" view-name="redirect: /sshweb/users"/>

UserController 類:

	@RequestMapping(value = "/users", method = RequestMethod.GET)
	public String userlist(Model model) {
		List<User> userlist = userService.getAllList();
		model.addAttribute("userlist", userlist);
		return "user-list";
	}

 

訪問後為: