2009-07-03 8 views
1

de GWT Utilisation de l'interface JavaScript natif de GWT je peux effectuer les opérations suivantes:passage nom de la variable dans JSNI

public native static String getNativeVariableFoo() /*-{ 
    return $wnd.foo; 
}-*/; 

qui renvoie le contenu d'une variable JavaScript appelée foo.

Comment puis-je développer cela pour accepter le nom de la variable en tant que paramètre? à savoir:

public native static String getNativeVariable(String foo) /*-{ 
    /* Somehow meaningfully concat '$wnd.' with value of foo */ 
}-*/; 

simplement en utilisant le nom de la variable à l'intérieur du code natif comme on le ferait pour appeler:

eval(foo) 

résultats dans le code JavaScript chasse pour une déclaration d'une variable nommée foo et non un nom avec la valeur de toto.

Merci beaucoup!

Répondre

5

Est-ce que

$wnd[foo] 

fonctionne pas?

Vous pouvez également regarder la classe GWT 'Dictionary'. C'est idéal pour charger des valeurs, c'est-à-dire des paramètres de la page hôte.

+0

Brillant! Je vais aussi regarder dans le dictionnaire, même si nous visons des balises JSP réutilisables qui peuvent saisir des attributs de session particuliers et les exporter vers les pages où elles sont nécessaires. Ce n'est pas parfait, mais le dictionnaire nécessite encore deux choses à penser et les balises nous donnent une validation facile contre un TLD. Merci! –

Questions connexes