Probleme javascript / Java [Résolu]

Signaler
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007
-
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007
-
Bonjour,
dans le cadre du edveloppement d'un application web
j'aimerais pouvoir afficher dans une jsp le contenu d'un tableau u :

<%
Bdd b = Bdd.getInstance();
int y;
//User u = new User();
User [] u =new User[100];
Object tab [] = b.getUsers().toArray();
int a=tab.length;
int i=0;

    try{
    for(i=0;i

Puis ensuite :

<script language="javascript">
var c=<%=a%>;
var tab = new Array(c);
for(x=0;x<c;x++)
{
tab[x]="<%=u[x].getNom()%>";
document.write(tab[x]+"");
<%
x++;
%>
}
</script>

Mais il semble qu'il y ai un probleme avec l'incrementation de la
variable x (java), j'ai essaié de plusieurs maniere mais toujours la
meme chose la variable java ne s'incremente pas, comme si le bout de
code java introduit dans le script javascript n'etait pas reconnu, lors
cela me parait bizzare puisque le bout de code java qui permet de
recuperer le contenu du tableau est bien prise en compte, seul
l'incrementation pose probleme.


Voila je n'arrive pas a regler ce probleme

Quelqu'un pourrait-il m'aider ?

Merci d'avance !

11 réponses

Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Re
finalement je suis passé par la balise struts <logic:iterate>
je n'avais pas reussi a l'utiliser mais apres un petit peu de galere j'ai reussi a la l'utiliser
ca donne ca :
<%
Bdd b = Bdd.getInstance();
int y;
Collection c=b.getUsers();
int i=0;
try{
  for(i=0;i

puis  :

<logic:iterate collection="<%=c%>" id="user" type="go.form.User">
<tr>
<td> <%=user.getNom()%> </td>
..................................................
</tr>
</logic:iterate>

Voila merci pour ton aide !

Sinon j'aurai aimé malgré tout comprendre le pourquoi de mon precedent probleme

Je t'ai deja tout envoié, il n'y avait rien de plus dans ma page.
Seulement les deux blocs : java et javascript
Le bloc java recupere de ma BDD un certain nombre de données et j'ai testé la reception se fait correctement.
Ensuite ne pouvant ( ou ne sachant pas tout simplement) afficher ce tableau java  de maniere dynamique avec de l'html ( enfin mettre du code html dans du code java) j'ai voulu passer par un tableau javascript pour utiliser le document.write()
Et c'est comme ca que lorsque je teste avec documente.write le contenu du tableau il reconnait bien avec :
    "var c=<%=a%>;
    var tab = new Array(c);"
le contenu de la variable a (j'ai testé il y a la bonen valeur dedans)
Sinon la boucle m'affiche a chaque fois le premiere objet du tableau, parcequ'il n'y a pas d'incrementation, enfin elle ne se fait pas :
    <%=u[x].getNom()%>

Voila, sinon je suis debutant en javascript, enfin en programmation web en general, et j'ai pensé au debut qu'il y avait peut etre certaines contraintes dans l'integration de code java dans un code javascript.
Enfin je ne sais pas c'est tout de meme bizzare vu que tout le reste marche.
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Re
oki, je ne sais pas ce que c'est mmais je vais me renseigner.
Merci encore pour ta sollicitation.
Bonne chance et bonne continuation.
++
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

   si déjà tu pouvais nous mettre la page html générée et pas le asp,
   ça aiderait. sinon comment on sait ce que contient <%=a%> par exemple.

     une remarque quand même : document.write(tab[x]+"");
      si le page a été totalement interprétée, document.write 
         l'efface, y compris le javascript.

<hr />
         Cordialement       Bul [mon Site] [M'écrire]
<hr />Généralement, c'est absurde de généraliser.

/STRONG>
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Bonjour, tout d'abord merci pour ta reponse

Sinon je n'ai aps compris ce que tu veu dire par :
"si déjà tu pouvais nous mettre la page html générée et pas le asp"
 
Concernant <%=a%> ca contient la taille du tableau ( comme c'est ecrit dans le code : int a=tab.length; )

Je n'ai pas non plus compris : "




si le page a été totalement interprétée, document.write 

Voila merci quand meme. l'efface, y compris le javascript."
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
Le problème vient probablement du fait que tu as confondu les sections de code javascript et java :

for(x=0;x<c;x++) // on est en javascript, x est defini

<%=u[x].getNom()%> // on est en java, x n'existe pas
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Merci,
j'ai oublié de preciser que j'avais defini la variable x java un peu plus haut dans mon code, le probleme ne vient donc pas de la... :(
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Merci,
j'ai oublié de preciser que j'avais defini la variable x java un peu plus haut dans mon code, le probleme ne vient donc pas de la... :(
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
{
tab[x]="<%=u[x++].getNom()%>";
document.write(tab[x]+" x=<%=x%>");
}
essayes avec ça pour voir si le pb vient de x
Messages postés
29
Date d'inscription
mercredi 27 octobre 2004
Statut
Membre
Dernière intervention
17 août 2007

Idem, j'avais deja essaie, de l'inclure dedans
mais il ne reconnait pas l'incrementation
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
ben donnes tout le code de la page (formatté AVEC INDENTATION stp sinon je ne fais même pas l'effort de lire) que je vois ce qui se passe
Messages postés
694
Date d'inscription
lundi 5 décembre 2005
Statut
Membre
Dernière intervention
8 janvier 2014
13
Si tu dis que tout ton code est là alors je réitère ma question :

Où est l'instruction java qui défini la variable x ?

Enfin bon de toute façon, tu as résolu ton problème, donc finalement la réponse n'a plus trop d'importance.
Sinon, un conseil, que tu prends ou que tu prends pas. Tournes toi vers la syntaxe el (expression langage) pour l'écriture des jsp. le code est plus court et plus naturel à lire.