創建自定義錯誤頁,我讀了以下網址如何在春季啓動
Customized 404 error page in spring-boot 和工作參考。
在上面的文檔中他們使用了.HTML頁面。但我需要.jsp頁面。
src/
+- main/
+- java/
+- resources/
+- public/
+- error/
| +- 404.html
即, 404.html到404.jsp
這可能嗎?
創建自定義錯誤頁,我讀了以下網址如何在春季啓動
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