2015-08-28 90 views
1

我开发一个春天启动应用程序,使用启动v 1.2.5,使用thymeleaf作为视图技术映射/错误不会在春季启动工作

在我的MVC框架的配置文件

@Configuration 
public class MVCConfig extends WebMvcConfigurerAdapter { 


@Override 
public void addViewControllers(ViewControllerRegistry registry) { 
    registry.addViewController("/message").setViewName("message"); 
    registry.addViewController("/error").setViewName("errors/error"); 
    registry.addViewController("/login").setViewName("authentication/login"); 
} 

的问题是第一个和最后一个映射工作正常,但中间的一个“错误”根本不起作用!

我使用与其他两个模板相同的规则,相同的前缀,相同的目录结构,所以它应该像其他两个一样工作! 但是,当我指出我的浏览器/错误,春天开机显示后备错误页面说,不存在用于映射/错误

当我将其更改为: registry.addViewController("/error").setViewName("errors/error");

它工作正常/错误

有关错误处理的Spring引导文档状态: “对于浏览器客户端,存在一个'whitelabel'错误视图,它以HTML格式呈现相同的数据(只需添加一个视图,以解决”错误“) “。

因此,它说增加一个解决错误的观点,这就是我所做的,但它不工作!

那么,是什么问题?为什么/错误不起作用?

回答

1

您已添加视图控制器对于/error,而不是视图。然后由Boot自己的控制器用/error映射覆盖。因此,您会看到默认的错误页面。

您只需提供错误视图即可。在使用Thymeleaf时,您可以创建一个名为src/main/resources/templates/error.html的文件。