Probleme d'image avec jsp

Fermé
beaf Messages postés 262 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 26 août 2015 - 28 sept. 2013 à 14:24
beaf Messages postés 262 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 26 août 2015 - 29 sept. 2013 à 13:11
Bonjour,

j'ai un problème d'affichage d'image dans mon application

voici l'arborescence du projet

projet-web {
- WebContent
-- index.jsp
-- login.xhtml
-META-INF
-pages
-reources
-- css
--- log.css
-- images
-templates
-WEBINF

}


Le problème est que mes images ne s'affiche pas, le projet se deploi et marche sauf que les images ne s'affiche pas même quant je fixe le style en dur dans les balises à l'interieur de la page.

Mon environnement Eclipse et JBoss 6

Merci de votre aide


A voir également:

6 réponses

KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
28 sept. 2013 à 18:04
Je viens de me créer un petit projet pour tester et voici comment y arriver :

webapp
|_ WEB-INF
| |_ web.xml
|_ index.jsp
|_ images
|_ espace.png
|_ css
|_ style.css

Soit on met directement la mise en forme dans la JSP (déconseillé) :

index.jsp :

<html>
<head>
</head>
<body background="images/espace.png">
<h2>Hello World!</h2>
</body>
</html>

Soit on utilise la feuille de style css :

style.css :

body {
background-image:url(../images/espace.png);
}

index.jsp :

<html>
<head>
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<h2>Hello World!</h2>
</body>
</html>
1
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
28 sept. 2013 à 14:40
1) pourquoi mélanger les fichiers xhtml et jsp ? Autant tout faire en jsp !
2) il faudrait voir ton code pour trouver l'erreur, mais je pense qu'il s'agit juste d'un problème de chemin relatif. Quand tu es dans index.jsp l'accès à une image devrait se faire par le chemin "../images/monImage.png"
0
beaf Messages postés 262 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 26 août 2015 1
28 sept. 2013 à 16:43
Avant j'avais mis mes fichiers dans le fichier pages comme ceci Webcontent/resources/pages/login.xhtml ca marche sans probleme et j'appelais mes images comme ca

<body stye=" backgroung-image: url(${request.contextPath}/resources/images/espace.png;"


Mais dès que j'ai mis je le fichier login.jsp directement dans WebContent, c'est à cette instant que j'ai un problème d'affichage ...



Merci
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
28 sept. 2013 à 16:52
Je dirais que ${request.contextPath} pointe sur ton dossier WebContent, tu cherches donc l'image dans le dossier WebContent/resources/images, qui bien sûr n'existe pas...
Essayes avec
${request.contextPath}/../resources/images/espace.png


Remarque : pourquoi vouloir mettre ton style directement dans le code de la JSP alors que tu as un fichier CSS pour faire ça ?
0
beaf Messages postés 262 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 26 août 2015 1
28 sept. 2013 à 17:11
Je viens de tester ta syntaxe tel que tu m'a proposé ${request.contextPath}/../resources/images/espace.png mais les images ne s'affiche pas toujours ..

pour la remarque:: j'vais des problèmes avec le fichier css qui ne m'affichais pas d'images et c'est à cause de ca que j'avais opter pour faire ca en dur dans le fichier JSP
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
beaf Messages postés 262 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 26 août 2015 1
29 sept. 2013 à 07:32
lorsque je le fais comme ca ca marche ,,

mais j'ai ajouter une authentification avec jaas (mode FORM),, en configurant le web.xml qui me redirige vers une page de connexion lorsque je lance mon appli...


c'est depuis là que j'ai eu cè probleme avec mes images qui ne s'affiche pas

avant <div style="background-image: url('${request.contextPath}/resources/images/espace.png')"
0
KX Messages postés 16733 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 31 janvier 2024 3 015
29 sept. 2013 à 10:10
Déjà tu n'as pas besoin des apostrophes dans ton paramètre url(), regarde comment j'ai fait dans le fichier css.

Ensuite, je ne comprends pas d'où vient ton
${request.contextPath}
et pourquoi tu voudrais que ça marche. Moi quand je testes (en JSP pur), la valeur que ça me renvoie c'est "${request.contextPath}", il n'y a aucune interprétation de ce champ... Par contre il est possible d'obtenir le contextPath en faisant
<%= request.getContextPath() %>
.

Cependant, le dossier "resources" n'est pas fait pour y mettre du contenu HTML comme des images ou le fichier CSS qui doivent être placées dans le dossier "webapp".
Le dossier resources est utilisé uniquement côté serveur, par exemple pour y mettre des fichiers .properties dont le contenu est récupérable à la génération de la JSP mais pas depuis le site web.

Donc tes images mets les ailleurs, en respectant l'architecture d'une application web :

resources
|_ i18n.properties
|_ i18n_FR.properties
|_ i18n_EN.properties
webapp
|_ WEB-INF
| |_ web.xml
|_ index.jsp
|_ images
| |_ espace.png
|_ css
|_ style.css

Avec par exemple dans ton code JSP :
<div style="background-image: url(images/espace.png)"></div>
0
beaf Messages postés 262 Date d'inscription mardi 17 octobre 2006 Statut Membre Dernière intervention 26 août 2015 1
29 sept. 2013 à 13:11
je sécurise mon appli avec jaas avec le mode FORM que j'ai déclaré dans mon fichier web.xml

<lorsque que j'utilise pas authentification avec jaas,,, mes images apparaissent sans problème ....

mes avec jaas en modifiant le web.xml qui impose une rediction lors de la connexion, mes images ne sont plus pri en compte ...

voici un bout de code de mon web.xml

<login-config>
<auth-method>FORM</auth-method>
.......
<form-login-page>/login.jsp ou login.xhtml</form-login-page>
<form-error-page>/error.jsp ou error.xhtml</form-error-page>
</login-config>


Si j'utilise mon application sans utilise la sécurité avec jaas en mettant cette partie de conf en commentaire tout marche mes images s'affichent mais si j'active l'authentification dans le web.xml ,,, l'appli marchi mais l'affichage de l'image au niveau de la page qui redirige les balises suivantes:

<form-login-page>/login.jsp ou login.xhtml</form-login-page>
<form-error-page>/error.jsp ou error.xhtml</form-error-page>

NB: après authentification,, les autres pages marches correctement avec les images

donc ya que la page login.jsp ou login.xhtml et error.jsp qui ne prennet pas compte les images
0