簡體   English   中英

Spring Intellij 中的啟動不會加載圖像

[英]Spring Boot in Intellij won't load image

我剛剛開始學習 Spring 閱讀“Spring In Action”,除了端口 8080(tomcat 啟動)以外,我無法將圖像加載到任何其他端口上。 這通常會很好,但我必須不斷重新啟動程序才能加載對我的網頁的任何更改。

Intellij 嘗試在端口 63342 上運行我的 web 程序,但沒有加載圖像,只有文本。 我相信這是 Thymeleaf 的問題。 我嘗試將 tomcat 指向端口 63342 但它不會加載(端口正在使用中?)

我希望它可以讓我可以在保存時重新加載功能工作,特別是能夠使用 intellij 中的快捷方式來啟動 web 頁面。

有什么建議么?

發布 Thymeleaf 代碼和你 Java 代碼,我會看看我能做什么

據我了解,基本上問題是您試圖直接從 IDEA 打開您的.html模板。 這意味着您沒有使用thymeleaf engine來呈現它 - 您只是打開模板本身而不是結果頁面 如果您使用瀏覽器的開發工具打開此頁面的源代碼,您將看到您的所有表達式都未處理,這導致它試圖在錯誤的端口上獲取資源(例如,您的應用程序真正運行的端口是63342而不是8080 ,並且已准備好為資源提供服務)。

因此,您不能像這樣編輯您的模板。 但是 Thymeleaf 確實可以選擇這樣做。 如果您直接從 IDE 運行Spring Boot application (例如 Intellij IDEA Ultimate 中的配置文件),您可以將以下內容添加到您的application.properties

spring.thymeleaf.cache=false

這將告訴您的 Spring 模板解析器您不想緩存您的.html模板,它每次都會從磁盤加載文件,所以如果您修改模板然后點擊 IDE 的build按鈕,它應該重新打包您的模板以及何時您在瀏覽器中刷新頁面,它將加載(並處理)已編輯的頁面。

警告! 僅將其用於開發構建,將值設置為true用於生產環境以防止不必要的重讀。

有關更多信息,請參閱有關熱插拔的Spring 引導文檔

如果您希望 intelj 顯示您的圖像,您必須添加一個常規src並添加一個th:src以在程序運行時顯示圖像。 嘗試同時添加

<img th:src="@{/assets/img/image.svg}" src="../static/assets/img/image.svg"/>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM