1.JSP、Velocity、Thymeleaf等這是模板引擎,Jquery、Vue等這是前端框架。so,它們不壹樣。
2.緩存模板結構,在數據層操du作完直接套用模板輸出到客戶端界面中,減少dom操作的異常、減少拼接html的痛苦、減少各瀏覽器下dom操作的延遲差異 。這是模板引擎幹的事情。
3.前端框架,提升開發效率,dom加載效率等。
為何選Thymeleaf,而拋棄了別的模板引擎比如JSP
1.SpringBoot默認整合Thymeleaf,不需要任何配置直接整合成功,打jar包發布不需要做任何配置。
2.Thymeleaf相對於其他的模板引擎(如:Freemaker、velocity),有強大的工具支持。
3.相對於Jsp頁面,執行效率高。
記錄壹個錯誤,是SpringBoot 和thumeleaf版本沖突的問題,這裏需要把上面的切換版本配置改改
錯誤: An attempt was made to call the method org.thymeleaf.spring5.SpringTemplateEngine.setRenderHiddenMarkersBeforeCheckboxes(Z)V but it does not exist. Its class, org.thymeleaf.spring5.SpringTemplateEngine, is available from the following locations...
寫壹個小的測試,在Controller中添加壹個訪問,並在template目錄下寫個success.html
使用 http://localhost:8099/success ,能夠訪問到頁面內容就證明模板引擎配置ok了。
th:id=" {}"
....
可以看到,我們可以使用th:**的方式替換原有的html屬性,其余更多參考thymeleaf的官方文檔,c:forEach 遍歷,c:set 生命變量,c:if判斷,jsp:include 片段包含.....。還有壹些表達式語法的說明 ${} 獲取對象的屬性,調用方法。
success.html
HelloController
簡單的小例子,驗證配置沒有問題,更強大的功能在後續的復雜案例中再繼續學習。