繁体   English   中英

如何在Spring Boot中创建自定义错误页面

[英]How to create custom error page in spring boot

我从以下网址阅读了参考

spring-boot中的自定义404错误页面及其工作。

在上述文档中,他们使用了.HTML页面。 但是我需要.jsp页面。

src/
+- main/
   +- java/
   +- resources/
       +- public/
           +- error/
           |   +- 404.html

即。 404.html至404.jsp

可能吗?

对的,这是可能的。

您只需要配置

InternalViewResolver

与.jsp扩展名一样。

编辑:

请检查以下示例代码。

private static final String VIEW_RESOLVER_PREFIX = "your/jsp/location";
private static final String VIEW_RESOLVER_SUFFIX = ".jsp";

@Bean
public ViewResolver viewResolver() {
    InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
    viewResolver.setPrefix(VIEW_RESOLVER_PREFIX);
    viewResolver.setSuffix(VIEW_RESOLVER_SUFFIX);
    return viewResolver;
}

您首先需要配置spring boot以使用jsp,因为它不是现成的。 在maven pom.xml中,添加以下依赖项:

    <!-- Need this to compile JSP -->
    <dependency>
        <groupId>org.apache.tomcat.embed</groupId>
        <artifactId>tomcat-embed-jasper</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.eclipse.jdt.core.compiler</groupId>
        <artifactId>ecj</artifactId>
        <version>4.6.1</version>
        <scope>provided</scope>
    </dependency>
    <!-- JSTL for JSP -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>jstl</artifactId>
    </dependency>

在application.properties中:

spring.mvc.view.prefix= /WEB-INF/jsp/
spring.mvc.view.suffix= .jsp

按照我的配置方式,.jsp文件需要位于src / main / webapp / WEB-INF / jsp文件夹中,因此可以根据需要创建它。 假设我然后创建了一个文件src / main / webapp / WEB-INF / jsp / error / 404.jsp。 要从我的控制器访问它,我只是将其称为

return "error/404";

因为spring boot会自动为我添加视图前缀和后缀。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM