Reputation: 805
I have a problem with CSS and Thymeleaf.
In my Spring boot app, I have this structure:
Now, with my html page named ErrorPage and css file named Layout.css, using Thymeleaf I have, in the head of ErrorPage:
<link href="../css/Layout.css" th:href="@{css/Layout.css}" type="text/css" />
But this does not work.
What am I doing wrong?
Upvotes: 29
Views: 60948
Reputation: 515
Move your template folder right under resources:
src/main/resources/static/css (for CSS files);
src/main/resources/templates (for HTML templates).
Then correct the link tag as follows (relative or absolute):
<link href="../css/firstcss.css" rel="stylesheet">
<link href="/css/secondcss.css" rel="stylesheet">
The old solution with static in front doesn't work for me.
Upvotes: 4
Reputation: 106
The main culprit of this behaviour is a custom security configuration which is very likely you are doing in your WebSecurityConfigurerAdapter subclass. If you use SpringBoot 2+ version you should add the following line in your WebSecurityConfigurerAdapter configuration
.requestMatchers(PathRequest.toStaticResources().atCommonLocations()).permitAll()
Upvotes: 3
Reputation: 12674
Move your template
folder right under resources
:
src/main/resource/static/css
(for CSS files);src/main/resource/templates
(for HTML templates).Then correct the link
tag as follows:
<link href="../static/css/Layout.css" th:href="@{/css/Layout.css}" rel="stylesheet" />
Upvotes: 49