我的Spring 4 / Thymeleaf设置存在一些严重问题。这是错误消息:
Error resolving template "public/bootstrap/js/bootstrap.min", template might not exist or might not be accessible by any of the configured Template Resolvers
出于某种原因,Spring或Thymeleaf将css和js视为不是静态的,并试图像处理请求一样处理它们。我有3个模板解析器:
@Bean()
public TemplateResolver templateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/templates/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setCacheable(false);
resolver.setOrder(0);
return resolver;
}
@Bean()
public TemplateResolver publicTemplateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/templates/default/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setCacheable(false);
resolver.setOrder(1);
return resolver;
}
@Bean()
public TemplateResolver customPublicTemplateResolver() {
ServletContextTemplateResolver resolver = new ServletContextTemplateResolver();
resolver.setPrefix("/WEB-INF/templates/custom/");
resolver.setSuffix(".html");
resolver.setTemplateMode("HTML5");
resolver.setCacheable(false);
resolver.setOrder(2);
return resolver;
}
正在提供页面,唯一的问题是css和js不是。我收到了.html文件中包含的每个css和js的错误。我确实将测试css文件移动到试图访问它的每个可能的目录,但我现在已经没有想法了。请让我知道我做错了什么以及是否需要进一步配置。
编辑03/31/2015
的src /主/ web应用/模板/默认/ page99.html
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" media="all" href="resources/css/main.css"/>
</head>
<body>
<h1 th:text="${content.title}"> PAGE 99 (/templates/default/page99.html)</h1>
<p th:text="${content.body}">This is dummy content</p>
</body>
</html>
css是一个只设置背景颜色的简单文件,因此我可以看到它正常工作。
答案 0 :(得分:0)
当您引用服务器上的项目时,您应该在相应的百万富翁属性中使用百日咳@方法。
像:
<link th:href="@{/css/style.css}" href="style.css" rel="stylesheet" type="text/css"/>
这会为您生成正确的网址。 在我的情况下,css在src / main / resources / static / css / style.css
中