02. oktober 2002 - 13:55Der er
5 kommentarer og 1 løsning
overføre et java array til et javascript array
Goddag
Efter at have inkluderet en bean på en jsp-side, vil jeg gerne have alle elementer fra et String array, der er erklæret nede i beanen og over i et array i javascrtipt.
Flg lader ikke til at fungere: (begge arrays har samme størrelse, selvfølgelig)
Du gemmer dem i en form som hidden felter, som dit javascript så tager dem fra.
problemmet er at servletten er server side, hvorimod dit javascript er clientside.
Du kan også gøre det hvis du ændre din mitArray() til at returnere dit array i en form som svarer til du skriver noget i retningen af:javascriptarray="pkt1","pkt2",.. (eller hvordan man nu initialiserer et javascript array.
Har løst problemet uden formen på flg måde: -jsp inkluderer den bean der skal benyttes til at have array data fra. inkluderes i toppen af jsp-dokumentet. -En vector overføres med bean objekt i sig som attribut fra servlet.. -Vector traverseres via Iterator og indhold af array i bean overføres til midlertidigt array erklæret på jsp-siden.
Derefter:
var langstreng; <% for (int i=0;i<laengde;i++) { if (jsparray[i]!=null) langstreng+=jsparray[i]+","; } %>
var nylang="<%=langstreng%>"; if (nylang!=null) tmparray=nylang.split(",");
Jeg lægger hele arrayet over i en lang streng med et "," som delimiter. Derefter bruger jeg javascript tokenizer version (der hedder split), der returnerer et array og lægger dette over i det nye javascript array. Et element på hver sin position.
Det er helt op til dig selv, mit andet forslag var noget i den retning du selv fandt ud af, men om du synes det er noget værd. Er ene og alene din beslutning :)
p.s. Brug ArrayList istedet for Vector, den er hurtigere :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.