[JSP] créer tableau dynamique en servlet

Signaler
Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
2 mai 2007
-
Messages postés
26
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
20 mai 2007
-
Bonjour ,

je voudrais créer un tableau dynamique en servlet/jsp.

Pour cela mon code dans mon .jsp est le suivant :


<%=
for (i= 0 ; i < <%= (String)request.getAttribute("nbrlignes") %> ; i++)
{
<tr>
<td>></td>
<td><%= (String)request.getAttribute("nom") %></td>
<td><%= (String)request.getAttribute("prenom") %></td>
<td><%= (String)request.getAttribute("telfixe") %></td>
<td><%= (String)request.getAttribute("telport") %></td>
<td><%= (String)request.getAttribute("mail") %></td>
<td><%= (String)request.getAttribute("choix") %></td>
</tr>
}
%>

Le probleme est que ce code ne fonctionne pas. Je ne sais pas si mettre du code html dans du java peut se faire mais ça fait une semaine que je suis la dessus et j'en ai mar je trouve pas .... !

Si quelqu'un pourrais me dire comment il fait ou me mettre sur la voie ce serais sympa !

merci d'avance

bye

2 réponses

Messages postés
24
Date d'inscription
mardi 23 janvier 2007
Statut
Membre
Dernière intervention
2 mai 2007

alors jai avancé :

<%
for (int i= 0 ; i < ((Integer)request.getAttribute("nbrlignes" )).intValue() ; i++)
{ %>
<tr>
<td>></td>
<td><%= (String)request.getAttribute("nom") %></td>
<td><%= (String)request.getAttribute("prenom") %></td>
<td><%= (String)request.getAttribute("telfixe") %></td>
<td><%= (String)request.getAttribute("telport") %></td>
<td><%= (String)request.getAttribute("mail") %></td>
<td><%= (String)request.getAttribute("choix") %></td>
</tr>
<% } %>

et j'ai reussi ça marche jai donc mon tableau !

donc j'ai bien mes 4 lignes (correspondants aux 4 lignes de la base de données mais les 4 sont identiques ... normal ! maintenant il faudrais que je lui envoie des objets qui contiennent toutes les données à envoyer pour chaque ligne ?

mais je sais pas comment faire !

merci d'avance !

@tt
Messages postés
26
Date d'inscription
mardi 8 juin 2004
Statut
Membre
Dernière intervention
20 mai 2007

Salut :
Créer une classe java contenant les attributs dont tu as besoin ( nom, prénom, tel .... ).
Puis lors de la récupération des données de ta base de donnée tu rempli des instances de ta classe avec les numéros de tel, nom, prénom.. puis tu met tous ces objets ds une liste ( ArrayList ).
Enfin tu met ton arraylist dans un paramettre de ta request.

Pour l'afficher, tu récupère le paramettre de la request et tu peu faire ton 'for'.

Il existe par ailleurs des tags jsp (de la jstl) pour itérer une lise d'objets. ca sera plus simple.
 exemple  ( datas est l'arraylist mis dans la request ) :
<code class="java_operator"><
c:forEach var
=
"
data
"
items
=
"
${datas}
"
> 

<tr>
<
td
>
$
{
data.nom
}
<
/
td
>
</code>
<code class="java_operator">	<
td
>
$
{
data.prenom
}
<
/
td
>
</code>
<code class="java_operator">	<
td
>
$
{
data.tel
}
<
/
td
>
</code>
<code class="java_operator">	<
td
>
$
{
data.montel
}
<
/
td
>
</code>
<code class="java_operator">
</tr>
<
/
c:forEach
>

voila .. ++
</code>