JSP affichage données depuis .java
Résolu
mathieu
-
mathieu -
mathieu -
Bonjour,
Je rencontre un problème avec un projet JAVA, peut-être pourrez vous m'aider.
J'ai un fichier .java qui contient des fonctions et qui est correct.
Une de ces fonctions affiche une chaîne de caractère directement dans la console de NetBean (sans utiliser de return).
D'un autre côté j'ai un fichier JSP qui contient un import de ce fichier .java.
Je voudrais afficher dans ma page JSP la chaîne de caractère produite par le fichier java.
La connexion entre les 2 fichiers est correct car une autre fonction du fichier java qui contient un return, renvoie bien le résultat.
Avez-vous une idée ?
Merci
Je rencontre un problème avec un projet JAVA, peut-être pourrez vous m'aider.
J'ai un fichier .java qui contient des fonctions et qui est correct.
Une de ces fonctions affiche une chaîne de caractère directement dans la console de NetBean (sans utiliser de return).
D'un autre côté j'ai un fichier JSP qui contient un import de ce fichier .java.
Je voudrais afficher dans ma page JSP la chaîne de caractère produite par le fichier java.
La connexion entre les 2 fichiers est correct car une autre fonction du fichier java qui contient un return, renvoie bien le résultat.
Avez-vous une idée ?
Merci
A voir également:
- JSP affichage données depuis .java
- Fuite données maif - Guide
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel - Télécharger - Jeux vidéo
- Eclipse java - Télécharger - Langages
- Java apk - Télécharger - Langages
3 réponses
Bonjour,
Il faut que ta classe Java possède une méthode retournant un String (on se moque éperdument qu'elle affiche quelque chose dans ta sortie standard, ça ne sera pas affiché dans ton navigateur).
Dans ta jsp, une fois que ton import est effectué, tu peux faire ceci :
Si ta méthode actuelle ne retourne pas de String mais fait juste un affichage et retourne void, dans ce cas tu la modifie.
Cordialement,
Il faut que ta classe Java possède une méthode retournant un String (on se moque éperdument qu'elle affiche quelque chose dans ta sortie standard, ça ne sera pas affiché dans ton navigateur).
Dans ta jsp, une fois que ton import est effectué, tu peux faire ceci :
<% TaClasse instance = new TaClasse();%> <%= instance.affiche(); %>
Si ta méthode actuelle ne retourne pas de String mais fait juste un affichage et retourne void, dans ce cas tu la modifie.
Cordialement,
Bonjour,
Oui, c'est correct. Cependant je ne comprends pas pourquoi tu poses cette question : pourquoi n'as-tu pas testé avant de venir la poster?
Cordialement,
Oui, c'est correct. Cependant je ne comprends pas pourquoi tu poses cette question : pourquoi n'as-tu pas testé avant de venir la poster?
Cordialement,
J'ai testé bien entendu avant de venir poster, mais le fait est que ma jsp ne m'affiche toujours pas le tableau.
je n'ai pas utiliser le <%= instance.affiche(); %> car je n'ai pas de méthode affiche.
j'ai fait ceci à la place : instance.listUser (mon_string)
Est-ce que ça peut fonctionner comme ça ? Sinon d'où peut provenir l'erreur ?
je n'ai pas utiliser le <%= instance.affiche(); %> car je n'ai pas de méthode affiche.
j'ai fait ceci à la place : instance.listUser (mon_string)
Est-ce que ça peut fonctionner comme ça ? Sinon d'où peut provenir l'erreur ?
Bonjour,
Ok, je comprends mieux.
Tout d'abord, oui, c'est comme ça qu'il faut appeler ta méthode.
Cependant, le tag <%= ... %> est en fait un raccourci à la méthode toString() de l'objet en paramètre. Le problème ici est que tu utilises un tableau (ici bidimensionnel), qui n'est pas un objet, donc qui n'a pas de méthode toString(), donc qui ne peut pas être affiché.
En général, pour afficher le tableau, tu fais une boucle imbriquée de la manière suivante :
Cordialement,
Edit : Quoiqu'après réflexion ça ne doit pas appeler la méthode toString() vu que les types primitifs sont affichés eux aussi, et que quand tu fais un <%= ... %> sur un objet dans lequel tu n'as pas redéfini toString, ça n'affiche pas l'adresse de l'objet. Donc j'ai dit n'importe quoi ^^
Ok, je comprends mieux.
Tout d'abord, oui, c'est comme ça qu'il faut appeler ta méthode.
Cependant, le tag <%= ... %> est en fait un raccourci à la méthode toString() de l'objet en paramètre. Le problème ici est que tu utilises un tableau (ici bidimensionnel), qui n'est pas un objet, donc qui n'a pas de méthode toString(), donc qui ne peut pas être affiché.
En général, pour afficher le tableau, tu fais une boucle imbriquée de la manière suivante :
<% String[][] tab = instance.listUser (mon_string); %> <% for (int i = 0; i < tab.length; i++) { %> <% for (int j = 0; j < tab[i].length; j++) { %> <%= tab[i][j] %> <% } %> <br/> <% } %>
Cordialement,
Edit : Quoiqu'après réflexion ça ne doit pas appeler la méthode toString() vu que les types primitifs sont affichés eux aussi, et que quand tu fais un <%= ... %> sur un objet dans lequel tu n'as pas redéfini toString, ça n'affiche pas l'adresse de l'objet. Donc j'ai dit n'importe quoi ^^