2012-03-29 66 views
1

我正在使用基於java的Spring 3配置和BootStrap。Freemarker頁面不能包含css文件

我已經下載了bootstrap,並將css和js放在資源目錄下。

我不能在freemarker頁面中使用這些.css。 但是我輸入了它們。

Tomcat的日誌說:

「警告無在 的DispatcherServlet找到HTTP請求與URI [/springway/resources/css/bootstrap-responsive.css]名爲 '彈簧' 映射」

目錄:

> -SpringWay 
>  -src 
>   - main 
>     -webapp 
>       -resources 
          -WEB-INF 
           -welcome.ftl 
           -springway.ftl  

welcome.ftl:

[#ftl /] 
[#include "springway.ftl" /] 


<ul class="breadcrumb"> 
    <li> 
    <a href="[@spring.url '/test'/]">Test</a> <span class="divider">/</span> 
    </li> 
    <li> 
    <a href="#">Library</a> <span class="divider">/</span> 
    </li> 
    <li class="active">Data</li> 
</ul> 

springway.ftl:

[#ftl/] 
[#import "spring.ftl" as spring /] 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 

    <title> 

    </title> 

    <link href="[@spring.url '/resources/css/bootstrap-responsive.css'/]" rel="stylesheet" type="text/css" media="screen"/> 
    <link href="[@spring.url '/resources/css/bootstrap-responsive.min.css'/]" rel="stylesheet" type="text/css" media="screen"/> 
    <link href="[@spring.url '/resources/css/bootstrap.css'/]" rel="stylesheet" type="text/css" media="screen"/> 
    <link href="[@spring.url '/resources/css/bootstrap.min.css'/]" rel="stylesheet" type="text/css" media="screen"/> 

    <script src="[@spring.url '/resources/js/bootstrap.js'/]" type="text/javascript"></script> 
    <script src="[@spring.url '/resources/js/bootstrap.min.js'/]" type="text/javascript"></script> 
    </head> 

<body ></body> 
</html> 

WebAppConfig:

public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
    } 
+0

的問題很奇怪,因爲你不包括服務器端的css-es。您只需爲它們插入一個HTML引用。所以只要/springway/resources/css/bootstrap-responsive.css URL是你想要的,並且@ spring.url已經起作用了,那麼你在這裏有FreeMarker模板是無關緊要的。 – ddekany 2012-03-29 07:27:22

+0

「spring.url」是如何工作的?我仍然得到了我在tomcat日誌中提到的錯誤。除此之外,樣式還沒有應用在我的頁面上! – Echo 2012-03-29 07:43:36

+0

有什麼我錯過了,禁止我將我的freemarker頁面鏈接到.css! – Echo 2012-03-29 07:46:00

回答

0

它看起來像你的問題,它的春天正試圖利用彈簧servlet響應,但你的資源不應該是一部分那麼你需要將資源路徑添加到你的Spring配置中。我補充一點,你應該添加基於路徑的XML配置您的資源將

<mvc:resources mapping="/resources/**" location="/resources/" cache-period="31556926"/> 

其中

屬性:位置 從中提供靜態內容,在春天資源指定的資源位置模式。每個 位置都必須指向一個有效的目錄。可以指定多個位置作爲逗號分隔列表, 並且將按照指定的順序檢查給定資源的位置。例如,值爲「/, classpath:/ META-INF/public-web-resources /」將允許資源從Web應用程序 的根目錄以及類路徑上包含/ META- INF/public-web-resources /目錄中,其中 資源在Web應用程序根目錄中優先。

屬性:映射 的URL映射模式,當前servlet上下文中,使用從該 處理服務資源,如「/資源/ **」

希望這有助於你

相關問題