SpringBoot集成jsp

JSP (貌似Spring Boot官方不推薦,創(chuàng)建的項目會在src/main/resources 下有個templates 目錄,這里就是讓我們放模版文件的,然后并沒有生成諸如 SpringMVC 中的webapp目錄)

如果需要使用JSP怎么辦呢?
最需注意的如下這個依賴,少了這一個不能使用jsp
(可以不指定版本)

1.在pom.xml中引入tomcat-embed-jasper依賴
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
</dependency>
2創(chuàng)建目錄webapp/WEB-INF/jsp來存放jsp頁面
注意webapp和java是同級目錄,都是main下的

創(chuàng)建個jsp頁面名叫helloJsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
         pageEncoding="UTF-8" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>我是標題</title>
</head>
<body>
helloJsp
<hr>
${hello}
</body>
</html>
3.application.properties文件中配置jsp訪問路徑
# 頁面默認前綴目錄
spring.mvc.view.prefix=/WEB-INF/jsp/
# 響應頁面默認后綴
spring.mvc.view.suffix=.jsp
# 自定義屬性,可以在Controller中讀取
application.hello=Hello World
4.創(chuàng)建測試controller
@Controller
public class HelloController {
    // 從 application.properties 中讀取配置,如取不到默認值為Hello
    @Value("${application.hello:Hello}")
    private String hello;


    @RequestMapping("/helloJsp")
    public String helloJsp(Map<String, Object> map) {
        System.out.println("HelloController.helloJsp().helloWrold=" + hello);
        map.put("hello", hello);
        return "helloJsp";
    }
}

對應的訪問路徑是http://localhost:8080/helloJsp
(端口沒改的話)
return "helloJsp"表明返回的是helloJsp.jsp,后綴已經(jīng)配置好了,前綴是在/WEB-INF/jsp/目錄下找

5.啟動測試

如果出現(xiàn)說明有可能你的jsp依賴沒有引入


Paste_Image.png

引入依賴后,成功顯示出來


Paste_Image.png

說明下 我這里的IDEA版本是2017.1.4

springboot版本是1.5.4.RELEASE

如果是其他版本的話不知道還會有什么其他的錯誤

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容