2014-11-09 58 views
2

我是新手到春百里香,我有一个网页被分成页眉,正文和页脚,但是当我试图包含页眉然后CSS和js没有加载到网页。静态资源没有加载到百里香模板

我的文件夹结构看起来像

main 
 
\t java 
 
\t resources 
 
\t web-resources 
 
\t \t css 
 
\t \t jss 
 
\t \t views 
 
\t webapp 
 
\t \t META-INF 
 
\t \t resources 
 
\t \t \t css 
 
\t \t \t jss 
 
\t \t \t views

而且我thymeleaf配置是: -

<bean id="templateResolver" 
 
\t \t class="org.thymeleaf.templateresolver.ServletContextTemplateResolver"> 
 
\t \t <property name="prefix" value="/resources/views/" /> 
 
\t \t <property name="suffix" value=".html" /> 
 
\t \t <property name="templateMode" value="HTML5" /> 
 
\t \t <!-- Template cache is set to false (default is true). --> 
 
\t \t <property name="cacheable" value="false" /> 
 
\t </bean> 
 

 
\t <bean id="templateEngine" class="org.thymeleaf.spring4.SpringTemplateEngine"> 
 
\t \t <property name="templateResolver" ref="templateResolver" /> 
 
\t </bean> 
 

 
\t <bean class="org.thymeleaf.spring4.view.ThymeleafViewResolver"> 
 
\t \t <property name="templateEngine" ref="templateEngine" /> 
 
\t </bean>

我的头呃CSS包括看起来像: -

<head> 
 
     <meta charset="utf-8"/> 
 
     <title>test</title> 
 
\t \t <meta name="viewport" content="width=device-width, initial-scale=1"/> 
 
     
 
      <link type="text/css" href="../../css/bootstrap-min.css" rel="stylesheet" th:href="@{/resources/css/bootstrap-min.css}"/> 
 
    
 
\t \t <link type="text/css" href="../../css/bootstrap-theme-min.css" rel="stylesheet" th:href="@{/resources/css/bootstrap-theme-min.css}"/> 
 
     <script src="../../js/jquery-1.11.1.min.js"></script> 
 
     <script src="../../js/bootstrap-min.js"></script> 
 
    </head>

和主HTML是: -

<head> \t 
 
\t <title>Hello</title> 
 
    \t <link type="text/css" href="../css/bootstrap-min.css" rel="stylesheet" th:href="@{/resources/css/bootstrap-min.css}"/> 
 
\t <link type="text/css" href="../css/bootstrap-theme-min.css" rel="stylesheet" th:href="@{/resources/css/bootstrap-theme-min.css}"/> 
 
\t 
 
    <script src="../js/jquery-1.11.1.min.js" th:src="@{/resources/js/jquery-1.11.1.min.js}"></script> 
 
    <script src="../js/bootstrap-min.js" th:src="@{/resources/js/bootstrap-min.js}"></script> 
 
</head> 
 
<body> 
 
<div th:include="fragments/header :: header"></div>

但仍当我请求页面,则显示404对CSS和JSS

回答

0

不要在片段中重复头元素。你目前正在做的是试图在体内添加一个重复的头元素。像在jsp导入中那样只包含头部的正文部分。

+0

感谢回答,我已经在我的Spring MVC构造修复资源路径解决了这个问题,但没有想到都给重复的头。 非常感谢您指出潜在问题。 – Apollo 2014-11-11 05:07:01

0

您可以更改:

<script src="../../js/bootstrap-min.js"></script> 

<script th:src="@{/resources/js/bootstrap-min.js"></script> 
+0

与答案添加一些解释如何回答帮助OP中如果使用SRC像“../../js/bootstrap-min.js”修复当前问题 – 2016-07-11 03:14:56

+0

。它只用于localhost中的静态html。当在服务器部署,我们应该得到js和css根据网址,例如: 'HTTP://本地主机:8080 /项目名称/资源/ JS /引导-min.js'。在更改为“@ {/ resources/js/bootstrap-min.js”后,thymeleaf会将url解释为正确的url。你可以在http://www.thymeleaf.org/doc/tutorials/2.1/usingthymeleaf.html#link-urls看到它 – 2016-07-11 07:16:39