Probleme d'image avec jsp
beaf
Messages postés
262
Date d'inscription
Statut
Membre
Dernière intervention
-
beaf Messages postés 262 Date d'inscription Statut Membre Dernière intervention -
beaf Messages postés 262 Date d'inscription Statut Membre Dernière intervention -
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
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:
- Image jsp
- Image iso - Guide
- Acronis true image - Télécharger - Sauvegarde
- Reduire taille image - Guide
- Légender une image - Guide
- Image gratuite - Guide
6 réponses
Je viens de me créer un petit projet pour tester et voici comment y arriver :
Soit on met directement la mise en forme dans la JSP (déconseillé) :
index.jsp :
Soit on utilise la feuille de style css :
style.css :
index.jsp :
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) 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"
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"
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
<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
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
Remarque : pourquoi vouloir mettre ton style directement dans le code de la JSP alors que tu as un fichier CSS pour faire ça ?
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 ?
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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')"
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')"
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
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 :
Avec par exemple dans ton code JSP :
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>
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
<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