如何在 Spring Boot 中使用注释配置视图解析器? [复制]
Posted
技术标签:
【中文标题】如何在 Spring Boot 中使用注释配置视图解析器? [复制]【英文标题】:how to configure view resolver using annotations in spring boot? [duplicate] 【发布时间】:2017-05-10 09:01:49 【问题描述】:我已经在 DispatcherServlet xml 文件中配置了视图解析器。但是如何在 Spring Boot 中使用注解配置视图解析器呢?
【问题讨论】:
【参考方案1】:来自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");
【讨论】:
我的 index.html 在根文件夹中。我希望在运行 localhost:8080 时打开 index.html。我该怎么做呢 您可以添加一个映射来进行重定向。我只是在我的答案中添加了这个来说明如何做到这一点。但通常如果 index.html 位于根目录,则不需要它。 但它向我显示了这个错误:此应用程序没有 /error 的显式映射,因此您将其视为后备。 确实是一个后备。您应该编辑您的问题并显示资源文件的布局,这有助于理解:) 好的,我在上面的代码中将前缀设置为“/WEB-INF/”,“/index”的映射是import org.springframework.stereotype.Controller;导入 org.springframework.web.bind.annotation.RequestMapping; @Controller public class GreetingController @RequestMapping("/index") public String greeting() return "index";以上是关于如何在 Spring Boot 中使用注释配置视图解析器? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
如何在 IntelliJ 上使用 @ConfigurationProperties 为 Spring Boot 配置注释处理器进行配置?
如何检查spring boot应用程序在自动配置类中是不是有某个注释
如何使用 Spring MVC & Security、Jasig CAS 和 JSP 视图在 Spring Boot 2 中配置 UTF-8?
如何在 Spring Boot 应用程序中为带有 @Configuration 注释的类编写单元测试用例