如何在spring boot中使用注释配置视图解析器?

时间:2016-12-25 14:45:07

标签: java spring-boot

我在DispatcherServlet xml文件中配置了视图解析器。但是如何在spring boot中使用注释配置视图解析器?

1 个答案:

答案 0 :(得分:4)

来自Spring Boot documentation

  

如果你想保留Spring Boot MVC功能,你只想添加   额外的MVC配置(拦截器,格式化器,视图   控制器等)您可以添加自己的@Configuration类类型   WebMvcConfigurerAdapter,但没有@EnableWebMvc。如果你愿意的话   提供RequestMappingHandlerMapping的自定义实例,   RequestMappingHandlerAdapter或ExceptionHandlerExceptionResolver你   可以声明提供此类的WebMvcRegistrationsAdapter实例   组件。

     

如果你想完全控制Spring MVC,你可以添加你的   拥有使用@EnableWebMvc注释的@Configuration。

你可以这样做:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/");
        resolver.setSuffix(".html");
        return resolver;
    }
}

当然,请根据您的实际配置调整前缀和后缀。

编辑以在/请求时处理重定向到页面:

@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {

    @Bean
    public ViewResolver getViewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/");
        resolver.setSuffix(".html");
        return resolver;
    }
     // add a mapping for redirection to index when / requested
    @Override
    public void addViewControllers(ViewControllerRegistry registry) {
        registry.addViewController("/").setViewName("forward:/index");
    }
}