如何在春季启动
问题描述:
创建自定义错误页,我读了以下网址如何在春季启动
Customized 404 error page in spring-boot 和工作参考。
在上面的文档中他们使用了.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引导才能使用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";
春季以来启动会自动添加视图前缀和后缀我。
谢谢。你能给我看一个示例配置吗? 'application.properties'中有任何更改吗? – user2214646
@ user2214646如果能解决您的问题,请您接受答案吗? –
我已经在'application.properites'中进行了配置。 spring.mvc.view.prefix =/WEB-INF/Views/ spring.mvc.view.suffix = .jsp。错误页面可以是静态的JSP – user2214646