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"/>
扫描二维码关注公众号,回复: 3729958 查看本文章

  

http://127.0.0.1:8080/sshweb/

2. 测试2

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

  

http://127.0.0.1:8080/

3. 测试3

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

  

http://127.0.0.1:8080//    

http://127.0.0.1:8080/

测试结果一样:

  

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";
	}

 

访问路径为:http://127.0.0.1:8080/sshweb

访问后为:

 

猜你喜欢

转载自blog.csdn.net/qq_42402854/article/details/82863970
今日推荐