前言:

先查看WebMvcConfigurer接口中都定义了哪些内容

public interface WebMvcConfigurer {
    default void configurePathMatch(PathMatchConfigurer configurer) {
    }
    default void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
    }
    default void configureAsyncSupport(AsyncSupportConfigurer configurer) {
    }
    default void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
    }
    default void addFormatters(FormatterRegistry registry) {
    }
    default void addInterceptors(InterceptorRegistry registry) {
    }
    default void addResourceHandlers(ResourceHandlerRegistry registry) {
    }
    default void addCorsMappings(CorsRegistry registry) {
    }
    default void addViewControllers(ViewControllerRegistry registry) {
    }
    default void configureViewResolvers(ViewResolverRegistry registry) {
    }
    default void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
    }
    default void addReturnValueHandlers(List<HandlerMethodReturnValueHandler> handlers) {
    }
    default void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    }
    default void extendMessageConverters(List<HttpMessageConverter<?>> converters) 			   { 
    }
    default void configureHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
    }

    default void extendHandlerExceptionResolvers(List<HandlerExceptionResolver> resolvers) {
    }
    @Nullable
    default Validator getValidator() {
        return null;
    }
    @Nullable
    default MessageCodesResolver getMessageCodesResolver() {
        return null;
    }
}

我们来扩展default void addViewControllers(ViewControllerRegistry registry) { }这个视图映射

1.创建一个配置类,使用@Configuration注解标明这是一个配置类

/**
 * @author:抱着鱼睡觉的喵喵
 * @date:2020/12/18
 * @description:
 */
//使用WebMvcConfigurer接口扩展Spring MVC的功能
@Configuration
public class MyMVcConfig implements WebMvcConfigurer {
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        //向浏览器发送/hao请求来到success
        registry.addViewController("/hao").setViewName("forward:success");
    }
}

这个registry.addViewController("/hao").setViewName(“forward:success”);相当于SpringMVC当中的<mvc:view-controller path="/hao" view-name=“success” >

2.创建Controller类

/**
 * @author:抱着鱼睡觉的喵喵
 * @date:2020/12/18
 * @description:
 */
@Controller
public class HelloController {

    @RequestMapping("/success")
    public String success(Map<String,Object> map){
        map.put("zsh","真棒!");
        return "success";
    }
}

3.编写success.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>success</title>
</head>
<body>
<!--    th:text 将div里面的内容设置为我们指定的值-->
    <div th:text="${zsh}"></div>
</body>
</html>

4.启动主配置类访问http://localhost:8080/hao
在这里插入图片描述

posted on 2020-12-18 17:13  凸凸大军的一员  阅读(133)  评论(0编辑  收藏  举报