2 votes

Afficher les fichiers png, jpg,... JSP avec Spring MVC 3

Je travaille sur une application web Spring MVC 3, j'ai quelques JSPs qui fonctionnent bien à une exception près, j'ai un problème d'affichage d'images -gif, jpeg et ainsi de suite-. J'ai essayé ces éléments du côté de la JSP :

<img alt="TestDisplay" src="../images/XXX.gif" />
<img src="<c:url value=""/>images/XXX.gif" alt="TestDisplay"/>
<img src="<c:url value="/"/>images/XXX.gif" alt="TestDisplay"/>
<img src="<c:url value="../images/XXX.gif"/>" alt="TestDisplay"/>
<img src="<c:url value="/"/>WEB-INF/images/XXX.gif" alt="TestDisplay"/>
<img src="<c:url value="../WEB-INF/images/XXX.gif"/>" alt="TestDisplay"/>
<img src="<%=request.getContextPath()%>/images/XXX.gif" alt="TestDisplay" />
<img src="images/XXX.gif" alt="TestDisplay"/>
<img src="<spring:url value="/images/XXX.gif" htmlEscape="true" />" align="right"     alt="TestDisplay"/>

Mais je ne suis pas sûr que le vrai problème vienne des pages ou d'ailleurs. Toute réponse utile sera notée.

Arbre hiérarchique des applications :

/webapp

//images

+XXX.gif

//WEB-INF

///images

+XXX.gif

Oui, je sais que le dossier images est dupliqué, je l'ai fait juste pour essayer l'une des options ci-dessus.

Merci d'avance

4voto

Bozho Points 273663

L'usage correct est :

<img src="<c:url value="/images/XXX.gif" />" alt="TestDisplay"/>

Fichiers dans WEB-INF ne sont pas accessibles aux clients.

1voto

magic2k Points 43

Vous devez ajouter à votre applicationContext.xml

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

pour dire à Dispatcher Servlet que vous utiliserez les ressources de cet emplacement

o

<mvc:default-servlet-handler />

pour utiliser le servlet par défaut de conteiner pour la gestion des ressources statiques.

plus d'infos à ce sujet - http://static.springsource.org/spring/docs/current/spring-framework-reference/htmlsingle/#mvc-default-servlet-handler

0voto

Kamal Nayan Deo Points 13

Vous devrez modifier votre code comme ci-dessous. Cela devrait fonctionner correctement.

Dans xxx-servlet.xml

<context:component-scan base-package="com.asset" />
    <mvc:resources mapping="/resources/**" location="/resources/" />

Ajouter des images ou un dossier CSS dans les ressources par exemple WebContent/resources/images/logo.png

Accédez à l'image en utilisant cette déclaration

<img src="<%=request.getContextPath() %>/resources/images/logo.png"></a>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X