欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringMVC之直接指定路径对应的视图名称

程序员文章站 2022-03-02 10:35:54
...

直接指定路径对应的视图名称

在使用SpringMVC开发Web应用时会存在一些没有业务逻辑,只需要直接展示对应的页面的请求。对于这些请求我们可以不定义Controller处理方法,直接建立请求路径和视图的对应关系。在使用基于XML的SpringMVC配置时可以通过mvc namespace提供的view-controller来指定请求路径和视图的对应关系。下面的代码中就指定了当请求路径是/时将直接响应名为index的视图。如果有需要还可以通过status-code属性指定需要响应的Http状态码。

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

如果是使用基于Java配置的SpringMVC,则可以通过实现WebMvcConfigureraddViewControllers定义请求路径直接对应的响应视图。

直接指定请求路径对应的重定向路径

当视图名称是以redirect:前缀开始时会自动转换为一个RedirectView对象用以进行页面的重定向。所以如果需要直接指定一个路径对应的重定向路径时也可以通过<mvc:view-controller/>来进行,比如需要在请求/hello时自动重定向到/world可以进行如下定义:

<mvc:view-controller path="/hello" view-name="redirect:/world"/>

基于这种需求SpringMVC也特意为我们提供了<mvc:redirect-view-controller/>直接定义请求路径与重定向路径的对应关系。所以上面的需求可以重写为如下这样:

<mvc:redirect-view-controller redirect-url="/world" path="/hello"/>

直接指定请求路径对应的状态码

如果我们在处理某一个请求时只需要响应一个状态码,则可以直接通过<mvc:status-controller/>来定义。下面的示例定义了当请求/bad_request时会直接响应Http状态码400。

<mvc:status-controller status-code="400" path="/bad_request"/>

直接指定请求路径对应的重定向路径或者是对应的状态码在基于Java类的配置时也都是通过WebMvcConfigureraddViewControllers定义的。

(注:本文是基于Spring4.1.0所写)