2010-11-07 5 views
0

Dans ma page, j'ai une applet. Je voudrais passer un certain nombre de données à une fonction d'applet. J'ai découvert comment faire cela et cela a bien fonctionné pour les types de données simples comme les chaînes mais j'ai du mal avec certaines structures de données imbriquées. Je ne suis pas sûr de ce que serait le bon terme pour cela - une liste de dictionnaires ou un tableau de tableaux associatifs. Voici un extrait de ma structure de données JavaScript.Passer une structure de données imbriquée à une applet à partir de JavaScript

var servers = [] 
servers.push({'id' : 1, 'ip' : '111.111.111.111'}); 
servers.push({'id' : 2, 'ip' : '222.222.222.222'}); 
$('testapplet').setWork(servers); 

Comment accéder à cela en Java? Je voudrais les parcourir et les imprimer sur la console? J'ai essayé le code suivant mais je n'ai pas réussi à le faire fonctionner.

public void setWork(HashMap s[]) { 
    for (int i = 0; i < s.length; i++) { 
     HashMap item = s[i]; 
     System.out.println(item); 
     System.out.println(item.get("ip")); 
    } 
} 

Répondre

0

Je ne suis pas sûr que le pont Java/JavaScript supporte autre chose que les types primitifs. Vous pouvez essayer sérialisation JSON, puis passer que sur le pont:

...yourcode.... 
$('testapplet').setWorker(toJSON(yourvar)); 

Edit: comme nous venons ... :)

0

Il existe peut-être une meilleure solution, mais vous pouvez JSON stringifier les données en Javascript, puis les décoder en Java.

Questions connexes