使用addviewController()实现无业务逻辑跳转(无法找到指定页面Whitelabel Error Page)

一、多说两句

实现无业务逻辑跳转:
1、之前是在controller:每次跳转都要写一个方法:在这里插入图片描述
2、现在只需要在函数中多一条这样的语句:

registry.addViewController("/").setViewName("login");

在config中编写视图映射(addViewControllers):

     @Override
            public void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("login");
                registry.addViewController("/login.html").setViewName("login");
            }

二、现在步入正题:

1、首先上问题:
但是用了上面的视图映射(addViewControllers)却无法映射了(mmp💢)。

页面显示:
在这里插入图片描述
控制台显示:
在这里插入图片描述

2、分析问题:
Spring Boot2.0的版本(创建的时候自动选择的这个版本),然后编译器告诉我WebMvcConfigurerAdapter已过时了

而,我们一般用WebMvcConfigurationSupport和WebMvcConfigurer来代替WebMvcConfigurerAdapter

这里是个大坑:
用这两个编写视图映射时都不报错,而且还TM方法提示都一个模样(mmp💢)。

3、解决问题:
注意:
添加@Configuration,等价于xml配置。
加上@Bean这样才能将组件加到容器中。

引起上述错误的代码:

 @Bean
    public WebMvcConfigurationSupport webMvcConfigurationSupport(){
        WebMvcConfigurationSupport support = new WebMvcConfigurationSupport() {
            @Override
            public void addViewControllers(ViewControllerRegistry registry) {
                registry.addViewController("/").setViewName("login");
                registry.addViewController("/login.html").setViewName("login");
            }
        };
        return support;
    }

订正后的正确代码:

@Bean
    public WebMvcConfigurer webMvcConfigurer(){
     WebMvcConfigurer configurer = new WebMvcConfigurer() {
         @Override
         public void addViewControllers(ViewControllerRegistry registry) {
             registry.addViewController("/").setViewName("login");
             registry.addViewController("/login.html").setViewName("login");
         }
     };
     return configurer;
    }

哈哈哈😁
再次运行,浏览器就可以显示请求了。

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值