2016-12-31 4 views
1

ich eine JSNI Methode nenne und zu versuchen, mein Java hashmapeine Java HashMap JSNI (Javascript) senden

so etwas wie dieses

 HashMap<String, String> map = new HashMap<String, String>(); 
     map.put("Test", "123"); 
     map.put("Test2", "234"); 

     call(map); 

}

 public static native void call(HashMap<String, String> map) /*-{ 
     alert(map); 
     var empMap = map; 
     var s = empMap['Test']; 

     }-*/; 

Hier senden ich will den Inhalt in meiner Hashmap in meinem JavaScript-Code zu lesen, aber es gibt "undefined" in var s. Null Fehler

bitte führen Sie, wie kann ich dies erreichen, das heißt, um den Inhalt dieses Java hashmap in meinem Javascript-Code zu bekommen.

+0

Haben Sie versucht zuerst die 'HashMap' in' JSON' Zeichenfolge umzuwandeln und dann die 'JSON' als' Objekt' in Ihrem 'JavaScript' Code zu verwenden? – thegauravmahawar

+0

Da ich auf der Clientseite bin, kann ich nur com.google.gwt.json.client.JSONObject verwenden, das einen jsonvalue akzeptiert und meine hashMap nicht darin einnimmt – junaidp

+0

, wenn ich das in meinem JavaScript-Code tue: var eMap = map; \t \t Warnung (eMap) ;, es zeigt alle vales in meinem hashmap korrekt an, aber jetzt muss ich nur einen bestimmten Wert erhalten, wie eMap [Test]; – junaidp

Antwort

1

Versuchen zu tun:

public static native void call(HashMap<String, String> map) /*-{ 
     alert(map); 
     var empMap = map; 
     var s = [email protected]::get(Ljava/lang/Object;)('Test'); 
}-*/; 

in Ihrem JSNI Anruf.