對於JSP相信大家都不陌生,無論是在學校學習,還是工作中,多多少少都會接觸到一些,那麼如何在SpringBoot應用中使用JSP模板呢?Easy~
首先,我們在pom文件中添加web依賴及jsp支持,如下:
<dependencies>
<!-- web組件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- 添加jsp依賴支持 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
其次,我們來到SpringBoot配置文件application.yml中添加視圖解析器的前綴和後綴,如下:
spring:
mvc:
view:
prefix: /WEB-INF/page/ #配置視圖解析的前綴
suffix: .jsp #配置視圖解析的後綴
server:
port: 80
這裏可以看到,我配置的視圖解析器的前綴爲/WEB-INF/page/,我們在與resources同級目錄下創建webapp目錄,然後在webapp下創建/WEB-INF/page/目錄,最終目錄結構如下圖所示:
接着編寫我們的測試控制器,其內容如下:
/**
* @Description JSP測試控制器
* @Auther: 笑笑
* @Date: 14:38 2019/10/26
*/
@Controller
public class JspTestController {
private static final String INDEX_PAGE = "index";
/**
* 首頁跳轉測試
* @param model
* @return
*/
@GetMapping(value = "/index")
public String index(Model model){
model.addAttribute("jsp","Hello Jsp!");
return INDEX_PAGE;
}
}
index.jsp中的內容很簡單,使用EL表達式把我們放入Model域對象中的數據取出來,如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>JSP 測試</title>
</head>
<body>
<%-- 使用EL表達式取值 --%>
${jsp}
</body>
</html>
最後啓動我們的應用程序,由於我配置了80端口,瀏覽器訪問http://localhost/index,結果如下:
可以看到,我們的JSP頁面訪問成功!是不是很簡單呢~
雖然我們的JSP頁面成功被訪問,但無論是SpringBoot官方還是我(這樣放一起,頓時感覺自己好牛逼!)都不建議大家使用JSP模板,因爲JSP的本質其實是一個servlet(Java類),它先要經過轉譯和編譯的步驟,才能輸出頁面的內容,速度上有所欠缺,但一些傳統的項目還在使用,所以也有學習的必要~
你還在等什麼,趕緊動手嘗試一下吧!
源碼地址:
https://github.com/devilyang123/SpringBoot-Learning/tree/master/springboot-jsp
歡迎關注我的個人公衆號“笑笑是一個碼農”,第一時間獲取最新文章。
您的關注,就是支持我持續寫作的最大動力!
還可以免費領取前後端全站學習視頻資料呦~
個人微信號,如需添加微信,請備註來源,因爲媽媽從小就告訴我不要隨便跟陌生人聊天!(嘿嘿~)