2012-03-27 4 views
2

Ich entwickle lokal mit beiden Anlegesteg und Tomcat.Versucht, MVC-Ressourcen zu bekommen, um meine statischen Ressourcen zu versorgen

Meine Bilder, CSS, Javascript-Dateien befinden sich in:

/src/main/webapp/assets 

, wo die Ordner Assets hat:

/src/main/webapp//assets/images 
/src/main/webapp//assets/css 
/src/main/webapp//assets/images/ 

Meine Feder Konfigurationsdatei hat:

<mvc:resources mapping="/assets/**" location="/" /> 

Ich bin verwirrt, was Mapping und Standort bedeuten?

Ich denke, Mapping bedeutet, dass die Feder nur versuchen, und die statischen Dateien dienen, wenn es die URL mit dem Muster wie hat:

www.example.com/assets/ 

Was Stelle zu tun hat?

Mein html hat zurzeit:

src="/assets/images/logo.gif" 

ich mit dem Ortswert habe versucht zu spielen, und ich habe nicht das Bild aus irgendeinem Grunde zu machen.

Kann jemand das für mich klären?

+0

Haben Sie lesen Punkt 16.14.5 in http://static.springsource.org/spring/docs/current/spring-framework-reference/html/mvc.html? – madth3

Antwort

5

Wenn Ihre Projektstruktur /src/main/webapp/assets/images hat, dann möchten Sie verwenden:

<mvc:resources mapping="/assets/**" location="/assets/" /> 

und dann in Ihre JSP Referenzdateien als

src="${pageContext.request.contextPath}/assets/images/logo.gif" 

Sein häufiger eine Projektstruktur wie /src/main/webapp/images|css|js zu haben und dann benutze:

<mvc:resources mapping="/assets/**" location="/" /> 

aber immer noch kee Ping-URLs als ${pageContext.request.contextPath}/assets/images/logo.gif

+0

contextPath ist was? weil ich die Bilder nach Möglichkeit relativ behalten wollte. Oder haben Sie sogar eine Subdomain für die URLs (sagen wir, dass sie von einem CDN bedient werden). – Blankman

+0

contextPath ist der root Pfad (normalerweise app/war Name) wenn Sie in Tomcat usw. laufen (kann aber leer sein wenn Sie mit virtual laufen) Host in der Produktionsumgebung) Wie läuft Ihre App - wie lautet die vollständige URL einer Seite? – nickdos

+0

Nun, es könnte eine benutzerdefinierte zugeordnete Domäne sein (Tausende von ihnen haben) oder eine Subdomain auf sagen mywebsite.example.com – Blankman

Verwandte Themen