我在DispatcherServlet xml文件中配置了视图解析器。但是如何在spring boot中使用注释配置视图解析器?
答案 0 :(得分:4)
如果你想保留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");
}
}