Logo du forum
 

Forum TT-Hardware

| Inscription | | Recherche | | FAQ | | Accueil | | Liste des membres |
| Calendrier |
 
Vous n'êtes pas identifié! [Connexion] ou [Inscription] Forum » Programmation » [Java] » Jsp et balise avec corps => Passage de variable
Login Mot de passe

1 visiteurs sur ce topic (0 membre(s), 1 invité(s) )

Auteur
Sujet : Jsp et balise avec corps => Passage de variable
Finch



 






Message du 18-01-2007 @ 11:16


Salut à tous!

J'ai un problème avec les balises avec corps et les jsp.
Je dois insérer la requête dans le corps de la balise.

Code :


<caddie.selectListBrochure>

SELECT * FROM brochures WHERE categorie LIKE 'DIVORCE';

</caddie.selectListBrochure>

<% while(rs.next()) { %>



Mais le jsp ne détecte pas la variable « rs » lors du rs.next() (« cannot find symbol symbol : variable rs »).
rs instancie la classe ResultSet. C'est objet conçu dans la classe du Tag a partir de la requête dans le corps.

J'ai suivit les examples du prof dans son livre. On a regardé avec d'autres étudiants qui y arrive...mais personne n'a trouvé le problème :aie:

Voilà les extraits du code (sous NetBeans 5.5 ):

Le Jsp :

AffichageBrochure.jsp

Code :


<%@taglib uri="/WEB-INF/tlds/caddie.tld" prefix="caddie"%>

<caddie.selectListBrochure>

SELECT * FROM brochures WHERE categorie LIKE 'DIVORCE';

</caddie.selectListBrochure>
...
<% while(rs.next()) { %>



La partie de la classe java du tag :

selectListBrochure.java


Code :


private void writeTagBodyContent(JspWriter out, BodyContent bodyContent) throws IOException {

String requete = bodyContent.getString();

ResultSet rs = null;

try {
rs = instruc.executeQuery(requete);
pageContext.setAttribute("rs",rs);
} catch(SQLException e) {
arret=true;
}
bodyContent.writeOut(out);
bodyContent.clearBody();
}




Le tld précise le type de la variable :

Caddie.tld

Code :



<tag>
<name>selectListBrochure</name>
<tag-class>caddie.selectListBrochure</tag-class>
<body-content>JSP<body-content>
<variable>
<name-given>rs</name-given>
<variable-class>java.sql.ResultSet</variable-class>
<declare>true</declare>
<scope>AT_END</scope>
</variable>
</tag>




edit: Voilà maintenant ça marche, les paramètres de la connection étaient incorrectes!

[message édité le 20-01-2007 @ 10:00 Par Finch]
- Haut de page -
Icy



 






Message du 18-01-2007 @ 11:32

quelle excercice débile sur les custom tag :yeux:
1: c'est normal le ; a la fin de ton query ?
2: tu declare ton taglib caddie, mais tu fait "caddie.selectList" ... tu dosi faire "caddie:selectlist" !!!
3/ selectListBrochure.java est dans le pacckage caddie ? (car caddie.selectListBrochure )
- Haut de page -
Finch



 






Message du 18-01-2007 @ 11:46

Icy a écrit

quelle excercice débile sur les custom tag :yeux:



No comment ;)

Icy a écrit

1: c'est normal le ; a la fin de ton query ?



C'est ";" de fin de requête sql. De tout manière c'est du texte donc ca ne doit rien changer.
Enfin je l'ai quand même supprimé, le driver jdbc le rajoute à la fin si il n'y est pas de tout manière.

Icy a écrit

2: tu declare ton taglib caddie, mais tu fait "caddie.selectList" ... tu dosi faire "caddie:selectlist" !!!



tududududud...ben oui, la directement ca marche mieux :D . Enfin ca ne m'affiche pas d'erreur (il détecte la variable "rs"), mais ca ne m'affiche pas non plus les "brochures" demandée...
Surement un problème de requête ou un problème dans la servlet. Je regarderai dans les fichiers de trace demain

Icy a écrit

3: selectListBrochure.java est dans le pacckage caddie ? (car caddie.selectListBrochure )



ouép



Merci ;)


- Haut de page -

Plan du forum | Contacter l'administrateur

Powered by SoulBB 3.0.1
© Soulmanto, 2003-2006

Valid XHTML 1.0 Transitional

Page générée en 0.081 secondes