Comment passer des donnees de la servlets au jsp?

Résolu
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008 - 6 nov. 2008 à 13:45
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 - 7 nov. 2008 à 10:14
Bonjour, j'aimerais envoyer des donnees venant d'un dao aux pages jsp.
pour une de donnee,ca va : je passe par le request.setAttribute("nom",nom) par exemple.
Mais comment faire lorsque mes donnees provient d'une sgbd, je veux dire comment faire lorsque j'ai des ligne de donnees resultant d'un select.
comment les envoyer a la page jsp et comment les recuperer dans la jsp pour que ces donnees soit affiche dans un tableau par exemple?

merci

ouais man

9 réponses

dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 nov. 2008 à 09:05
Je sais pas, quelles sont les données que tu dois passer dans un tableau?

Je prend un exemple, des articles. Ils ont un ID, une description et un prix.
Déjà, moi je ferais une classe "article" avec un constructeur qui prend 3 parametres et avec des getter et setter.

Ensuite, quand tu accèdes à ta BD, que tu retournes tes articles, à chaque ligne récupérée tu construis un nouvel article que tu mets dans un tableau après, un tableau d'article

ArrayList tableau = new ArrayList();

// ta boucle while...........
   article = new Article(id, description, prix);
   tableau.add(article);
}

Voilà, maintenant, tu mets ton tableau en session ou tu le mets en paramètre comme tu veux, suivant ton utilisation, mais ça tu sais faire

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
3
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
6 nov. 2008 à 16:03
Salut,

Et si tu mettais toutes des données récupérées justement dans un tableau et que après tu utilises ce tableau pour afficher son contenu?

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008
7 nov. 2008 à 08:14
Mais comment?

ouais man
0
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008
7 nov. 2008 à 09:29
Merci d'essayer de m'aider.
C'est exactement la methode que j'essaye d'employer. mais ca marche pas, je me retrouve avec java.lang.OutOfMemoryError: Java heap space , mais je sais que je n'ai pas de probleme de memoire.
bref, comme tu le dis
1 - j'ai cree la classe avec son constructeur et ses getters/setters
2 - j'ai un dao qui accede a la BD, jfais un arraylist, et dans le while j'ajoute les donneees. et je return l'arrayList.
3 - dans ma servlet ja mets en parametre : requestSetAttribute("articles",tableau)

et cet erreur est signale au niveau du while.
Autre question comment recuperer ces valeur dans la jsp, je fais un truc comme ca :
<c:foreach var="arcticle" items="${articles}"><tr><td><c:out value="${arcticle.id}" /></td><td><c:out value="${arcticle.description}" /></td><td><c:out value="${arcticle.prix}" /></td></tr></c:foreach>
C'est bien ainsi qu'il faut faire?


ouais man
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008
7 nov. 2008 à 09:32
<td><c:out value="${arcticle.id}" /></td><td><c:out value="${arcticle.description}" /></td><td><c:out value="${arcticle.prix}" /></td>


c'est bien ainsi qu'il faut faire?


ouais man
0
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008
7 nov. 2008 à 09:33
<td><c:out value="${arcticle.id}" /></td>
<td><c:out value="${arcticle.description}" /></td>
<td><c:out value="${arcticle.prix}" /></td>


c'est bien ainsi qu'il faut faire?
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 nov. 2008 à 09:53
Salut,
c'est bizarre ton histoire de OutOfMemory... Tu as bien construit l'arrayList?
ArrayList tableau = new ArrayList();

Tu n'as pas donné de taille au tableau hein?

Ensuite, dans la JSP, tu l'envoies comment ton tableau? En session ou dans le request?

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008
7 nov. 2008 à 10:10
ca y est ca marche,j'avais un probleme dans ma boucle.
Merci pour les conseils.
0
dvoraky Messages postés 744 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 9 mai 2010 8
7 nov. 2008 à 10:14
No problemo

a+

<hr width="100%" size="2" />
 C'est après des heures de codage que j'ai compris pourquoi les créateurs de Java ont choisi une tasse de café comme logo...
0
Rejoignez-nous