2012-03-29 17 views
1

Ich verwende Spring 3, Java-basierte Konfiguration, mit BootStrap.Freemarker Seite kann keine CSS-Dateien enthalten

Ich habe den Bootstrap heruntergeladen und legen Sie die CSS und JS unter Resources-Verzeichnis.

Das Problem, dass ich diese. CSS nicht von der Freemarker-Seite verwenden kann. Howve, dass ich sie importierte.

Tomcat Protokoll sagt:

"WARNUNG: Keine Zuordnung für HTTP-Anforderung mit URI [/springway/resources/css/bootstrap-responsive.css] in DispatcherServlet mit dem Namen 'Frühling' gefunden"

Verzeichnis:

> -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

Die Frage ist seltsam formuliert, wie Sie die CSS-Seiten auf der Serverseite nicht enthalten. Sie fügen nur eine HTML-Referenz zu ihnen ein. Soweit die URL /springway/resources/css/bootstrap-responsive.css das ist, was Sie wollten und somit @ spring.url funktioniert hat, ist es irrelevant, dass Sie FreeMarker-Vorlagen hier haben. – ddekany

+0

Wie hat "spring.url" funktioniert? Ich erhalte immer noch diesen Fehler, den ich auf Tomcat log erwähnt habe. Neben den Stilen ist noch nicht über meine Seiten angewendet !! – Echo

+0

Gibt es etwas, das ich vermisst habe und das verbietet, meine Freemarker-Seite mit der .css zu verknüpfen? – Echo

Antwort

0

Es ist wie Ihr Problem sieht ist es, dass der Frühling die Feder Servlet zu reagieren versucht verwenden, aber Ihre Ressourcen sollten nicht Teil sein Dann müssen Sie den Ressourcenpfad zu Ihrer Spring-Konfiguration hinzufügen. Ich werde die XML-Konfiguration hinzuzufügen, die Sie auf dem Weg add basieren sollten, wo Sie Ihre Ressourcen

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

sein werden, wo

Attribut: Lage Die Ressource Standort, von der statischen Inhalt zu dienen, an einer Frühlings-Ressource angegeben Muster. Jeder Speicherort muss auf ein gültiges Verzeichnis verweisen. Mehrere Standorte können als durch Kommas getrennte Liste angegeben werden, und die Standorte werden für eine bestimmte Ressource in der angegebenen Reihenfolge überprüft. Mit dem Wert "/, classpath:/META-INF/public-web-resources /" können beispielsweise Ressourcen sowohl von der Webanwendung als auch von einer beliebigen JAR-Datei auf dem Klassenpfad bereitgestellt werden, der/META- enthält. INF/public-web-resources/-Verzeichnis, wobei Ressourcen im Stammverzeichnis der Webanwendung Vorrang haben.

Attribut: Mapping Die URL-Mapping-Muster, innerhalb der aktuellen Servlet Kontext zu verwenden, um Ressourcen aus diesem Handler, wie zum Beispiel "/ resources/**"

Hoffnung dieser Hilfe dient Ihnen