Code d'affichage de donnés dans un tableau dans une page jsp

Signaler
Messages postés
7
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
21 avril 2009
-
Messages postés
7
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
21 avril 2009
-
salut tous le monde ,j'ai un code d'affichage de donnés dans un tableau qui m'a génée depuis longtemps,je récupéré les donnés suite à une requéte et j'essaye de l'afficher dans un tableau mais il ya une errreur dans les cotes ,il n ,'a pas acceptée les cotes pour une variable de type String ,je sais pas qu'elle est le probléme,voici le code:

out.print("<tr><td width='134'>"+rs.getInt(2)+"</td><td width='134'>"'"+libr+"'</td><td width='160'>""'+libe+"'</td><td width='129'>"+rs.getInt(5)+"</td></tr>");

///merci d'avance

2 réponses

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
49
Salut

Tout d'abord, ce post n'est clairement pas dans la bonne section. Il ne s'agit pas d'un bug sur codes sources, mais d'un problème dans un programme java => www.javafr.com.

out.print("<tr><td width='134'>" + rs.getInt(2) + "</td><td width='134'>" '" + libr + "'</td><td width='160'>" "' + libe + "'</td><td width='129'>" + rs.getInt(5) + "</td></tr>");

En violet, ce que Java va considérer comme un string. En noir tes variables et les concaténations. En rouge, ce qui va produire des erreurs.
Apparemment, tu souhaites encadrer les valeurs de libr et de libe par des '.

Pour cela, le code doit être comme ça :
out.print("<tr><td width='134'>" + rs.getInt(2) + "</td><td width='134'>'"+ libr + "'</td><td width='160'>'"+ libe + "'</td><td width='129'>" + rs.getInt(5) + "</td></tr>");

Petits rappels (ça ne fait jamais de mal) : losque tu ouvres une chaine de caractère avec ", le " suivant (à moins qu'il ne soit précédé de \) ne peut être suivi que d'un + (concaténation), d'un ; (fin d'instruction), d'une , ou d'un ) (fin de l'argument dans une méthode) ou enfin . (accès aux méthodes des strings). Ni " ni ' ne peuvent le suivre (c'est pour cette raison que c'est en rouge dans mon 1er exemple).
Si tu veux cependant afficher un caractère spécial dans ta chaine, fais-le précéder de \

String txt = "Texte simple";
String txt = "Texte possédant ' une apostrophe";
String txt = "Texte possédant \' une apostrophe"; // identique au précédent
String txt = "Texte possédant " des guillemets";
String txt = "Texte possédant " des guillemets"; // ERREUR ! la chaine se termine après possédant et avant des
String txt = "Texte possédant \n un retour à la ligne";
String txt = "Texte possédant \\ un backslash et un seul";
String txt = "Texte montrant une concaténation " + "de plusieurs chaines " + "et d'une variable entourée de guillemets : "" + mavar + """;

Krimog : while (!(succeed = try())) ;
- Quand le règlement tu respecteras, ravis de te répondre on sera -
Messages postés
7
Date d'inscription
vendredi 13 mars 2009
Statut
Membre
Dernière intervention
21 avril 2009

merci pour votre reponse et le appel ,le code est corrigé.