Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2771 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  Problème lié à JSTL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème lié à JSTL

n°1412044
brasseld
Posté le 24-07-2006 à 09:59:11  profilanswer
 

Je suis débutant avec JSTL (j'ai commencé ce matin  :) )
J'ai lu le tuto ici :http://www.javaworld.com/javaworld [...] tl-p3.html
 
J'ai bien mis mes 2 lib dans $tomcat/common/lib
J'ai ajouté  

Code :
  1. <taglib>
  2.      <taglib-uri>http://java.sun.com/jstl/core</taglib-uri>
  3.      <taglib-location>/WEB-INF/c.tld</taglib-location>
  4.    </taglib>


Dans mon web.xml
J'ai ajouté c.tld dans WEB-INF/
Et mon fichier jsp commence par :

Code :
  1. <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1" %>
  2. <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
  3. <%@ include file="../../../html/Commun/CnModelePageFrameHaut.inc" %>


 
Dans la suite de mon fichier JSP, j'ai :

Code :
  1. <input type="text" id="sNomOBJS" name="sNomOBJS" value="${data.nom}" maxlength="25" size="25"  style="width:200px"/>


 
J'ai un bean "data" dans ma session.
 
Lorsque j'affiche sa donnée, j'obtiens la valeur : ${data.nom} à la place de la valeur réelle.
 
Qu'est ce que j'ai oublié pour que tout fonctionne correctement ?
Merci de votre aide ;-)

mood
Publicité
Posté le 24-07-2006 à 09:59:11  profilanswer
 

n°1412057
brisssou
8-/
Posté le 24-07-2006 à 10:11:46  profilanswer
 

${machin} c'est du EL (chais plus ce que ça veut dire :-/)
 
pour utiliser JSTL, c'est des tag du genre <c:blabalbla/>
 
donc pour ton exemple :

Code :
  1. <input type="text" id="sNomOBJS" name="sNomOBJS" value="<c:out name="data" property="nom"/>" maxlength="25" size="25"  style="width:200px"/>


 
ou un truc du style


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1412064
brasseld
Posté le 24-07-2006 à 10:17:42  profilanswer
 

Finalement, j'ai trouvé.
J'avais mal déclaré ma web-app.
A titre d'information voici mon web.xml :  

Code :
  1. <?xml version="1.0" encoding="ISO-8859-1"?>
  2. <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
  5. version="2.4">
  6.   .........
  7. </web-app>


 
Et avec ${data.nom} ça marche trés bien aussi ;-)
Je ne sais pas si c'est mieux mais ça fonctionne...

n°1412132
brasseld
Posté le 24-07-2006 à 11:14:02  profilanswer
 

Dans ma request, j'ai inséré un attribut cheminot de type ArrayList.
Cette ArrayList contient des objets du type ListeCheminot composé de 2 attributs String : nCP et nom.
 
En utilisant :  

Code :
  1. <c:forEach var="token" items="cheminots">
  2.     <option value="${token.nCP}" <c:if test="${token.nCP == data.cpResponsable}">selected="selected"</c:if> >${token.nom}</option>
  3. </c:forEach>


 
Comment puis-je récupérer les 2 attributs nCP et nom ? Car l'exemple que j'ai donné ne fonctionne pas bien évidemment....  :pfff:

n°1412138
the real m​oins moins
Posté le 24-07-2006 à 11:18:37  profilanswer
 

brisssou a écrit :

${machin} c'est du EL (chais plus ce que ça veut dire :-/)


Expression Language


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1412139
the real m​oins moins
Posté le 24-07-2006 à 11:19:50  profilanswer
 

brasseld a écrit :

Dans ma request, j'ai inséré un attribut cheminot de type ArrayList.
Cette ArrayList contient des objets du type ListeCheminot composé de 2 attributs String : nCP et nom.
 
En utilisant :  

Code :
  1. <c:forEach var="token" items="cheminots">
  2.     <option value="${token.nCP}" <c:if test="${token.nCP == data.cpResponsable}">selected="selected"</c:if> >${token.nom}</option>
  3. </c:forEach>


 
Comment puis-je récupérer les 2 attributs nCP et nom ? Car l'exemple que j'ai donné ne fonctionne pas bien évidemment....  :pfff:

je suppose que ${token.nom} marche bien mais pas ${token.nCP}, probablement un probleme de nommage du getter associé ;)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1412145
brasseld
Posté le 24-07-2006 à 11:23:05  profilanswer
 

Bof, nan, j'ai changé avec ton indication et j'ai toujours cette erreur :  
javax.servlet.ServletException: Unable to find a value for "ncp" in object of class "java.lang.String" using operator "."
 
J'ai bien le droit de faire ce que j'ai expliqué au moins ?
 
edit : ça fonctionne pas non plus avec token.nom ;-)


Message édité par brasseld le 24-07-2006 à 11:26:05
n°1412152
the real m​oins moins
Posté le 24-07-2006 à 11:28:30  profilanswer
 

c'est ou que ça pete? la condition du if ou l'affichage de la prop?
essaie d'isoler le probleme.


Message édité par the real moins moins le 24-07-2006 à 11:28:57

---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1412160
brasseld
Posté le 24-07-2006 à 11:32:20  profilanswer
 

Une boucle toute simple du type :

Code :
  1. <c:forEach var="token" items="cheminots">
  2.      ${token.nom}
  3. </c:forEach>


ne fonctionne pas non plus.
 
Je répéte, est ce que j'ai bien le droit de manipuler les données comme ça ?

n°1412165
the real m​oins moins
Posté le 24-07-2006 à 11:34:25  profilanswer
 

ça j'en sais rien alors. lis la doc [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
mood
Publicité
Posté le 24-07-2006 à 11:34:25  profilanswer
 

n°1412169
brasseld
Posté le 24-07-2006 à 11:39:19  profilanswer
 

Si il y avait une bonne doc qui explique correctement les itérations...
A part sur javaworld qui est concis mais explicite aprés y'a pas grand chose...

n°1412180
brasseld
Posté le 24-07-2006 à 11:50:00  profilanswer
 

Bon, je ne sais pas vraiment pourquoi, mais ceci fonctionne :  

Code :
  1. <c:forEach var="cheminot" items="${requestScope['cheminots']}">
  2.     <option value="${cheminot.ncp}" <c:if test="${cheminot.ncp == data.cpResponsable}">selected="selected"</c:if> >${cheminot.nom}</option>
  3. </c:forEach>


 
J'ai juste ajouté le requestScope.... Si quelqu'un a des explications, je suis preneur ;-)

n°1412185
brisssou
8-/
Posté le 24-07-2006 à 11:52:07  profilanswer
 

tu as aussi changé la syntaxe de ${token.nCP} vers ${cheminot.ncp}...


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
n°1412196
brasseld
Posté le 24-07-2006 à 11:57:05  profilanswer
 

ouais mais je viens d'essayer avec token et ça fonctionne aussi...
donc le requestScope devait être manquant.

n°1412268
brisssou
8-/
Posté le 24-07-2006 à 13:40:20  profilanswer
 

c'est pas token qui est différent, mais nCP et ncp


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Problème lié à JSTL

 

Sujets relatifs
[XSLT] Probleme de conversion d'un algorithme vers xslProbleme extention de fichier
Problème avec getURL dans une animation flashProblème formulaire de contact
Problème très très étrange !!!problème lors de l execution macro automatique
problème de boucle/session : envoi de doublons en nombre variable ?!Probléme de chargement d'image avec GD et Formulaire
probleme de selection selon critereJSP jstl <c:forEach> probleme!!!!
Plus de sujets relatifs à : Problème lié à JSTL


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR