【发布时间】:2017-05-10 09:01:49
【问题描述】:
我已经在 DispatcherServlet xml 文件中配置了视图解析器。但是如何在 Spring Boot 中使用注解配置视图解析器呢?
【问题讨论】:
标签: java spring-boot
我已经在 DispatcherServlet xml 文件中配置了视图解析器。但是如何在 Spring Boot 中使用注解配置视图解析器呢?
【问题讨论】:
标签: java spring-boot
如果您想保留 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");
}
}
【讨论】: