我正在使用Spring 4.3.4 + Spring MVC + Thymeleaf 3.0.2開發webapp。順便說一下,我還沒有集成Spring Security,所以沒有任何安全策略。Spring MVC 4 + Thymeleaf:靜態資源404錯誤
問題很簡單:瀏覽器上沒有加載靜態資源(錯誤404)。
這是我的項目文件夾結構,這是一個標準的Maven結構(我已經穿上/src目錄/主/資源靜態資源/靜態,但我也試過/src目錄/主/ web應用/或/src目錄/主/ web應用/ WEB-INF/):
,這是,例如,如何我在我的網頁鏈接CSS(相信我,文件/src/main/resources/static/assets/css/style.css確實存在):
<link th:href="@{/assets/css/style.css}" type="text/css" />
據我知道我不應該需要對/src目錄一ResourceHandler處理內容/主/ resourcess /靜態/資產/,應已提供/資產/,但它不能正常工作,所以在我的Spring Java配置,我也做了也試了幾次,如:
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("classpath:/static/assets/**").addResourceLocations("/assets/");
registry.addResourceHandler("classpath:/static/pages/**").addResourceLocations("/pages/");
}
在任何情況下,CSS和JS文件都不可訪問。
我的分發程序Servlet被映射到根/:
<servlet-mapping>
<servlet-name>myappDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
如果我檢查HTML瀏覽器的,我可以看到上面的標籤變成:
<link href="/myapp/assets/css/style.css" rel="stylesheet" type="text/css">
,看起來很正確的給我,對?
那麼,如果我嘗試訪問css,爲什麼會收到404錯誤?我忘記了一些重要的東西嗎?
謝謝
盧卡
我已經嘗試過,沒有資源處理程序映射,結果是一樣的。此外,您的標記與我的完全相同,除了添加_href_屬性之外,在視圖呈現過程中它將被thymeleaf引擎忽略(它只能在您靜態打開.html模板時纔會影響)。 – Dolfiz