liveConnect: combler l'écart entre Java et JavaScript
LiveConnect facilite la communication transparente entre Java et JavaScript, permettant aux classes Java d'appeler des méthodes JavaScript et d'accéder à l'environnement JavaScript, tandis que JavaScript peut accéder aux objets Java et invoquer leurs méthodes. Initialement mis en œuvre dans Netscape Navigator, cette technique puissante trouve un soutien robuste à Mozilla Firefox. Ce guide explore les techniques de codage pour réaliser cette interopérabilité. La fonctionnalité principale de LiveConnect tourne autour de deux aspects clés: invoquer les méthodes Java de JavaScript et utiliser des objets JavaScript dans Java.
Concepts clés
JavaObject
, JavaClass
, JavaArray
, et JavaPackage
- Profitez de l'accès aux éléments java de JavaScript. netscape.javascript.JSObject
accède aux méthodes et propriétés JavaScript, tandis que netscape.javascript.JSException
gère les exceptions. Ceux-ci nécessitent d'ajouter plugin.jar
(situé dans le répertoire de votre JRE lib
) à votre chemin de classe. Accès à Java à partir de javascript
Quatre objets LiveConnect gèrent l'accès aux éléments Java de JavaScript:
JavaObject
: accède aux objets Java individuels. JavaClass
: Références Classes Java. JavaArray
: accède aux tableaux Java. JavaPackage
: Références Packages Java. en utilisant JavaObject
Instanciation d'un objet Java dans JavaScript crée automatiquement un JavaObject
. Par exemple:
var myString = new java.lang.String("Test String"); alert(myString.length()); // Outputs 11
en utilisant JavaClass
La référence à une classe Java crée un objet JavaClass
:
var myInteger = java.lang.Integer; alert(myInteger.MIN_VALUE);
en utilisant JavaPackage
Accéder à une classe Java dans un package:
var myVar = new Packages.mypackage.MyClass();
pour les classes en dehors des packages:
var myVar = new Packages.MyClass();
De même, pour les packages communs:
var myVar = new java.lang.String(); // Equivalent to new Packages.java.lang.String();
en utilisant JavaArray
Création et accéder à un tableau Java:
var myArray = java.lang.reflect.Array.newInstance(java.lang.String, 5); alert(myArray.length); // Outputs 5
Accès aux objets JavaScript à partir de Java
Les classes netscape.javascript.JSObject
et netscape.javascript.JSException
sont cruciales pour accéder à l'environnement JavaScript à partir de Java. N'oubliez pas d'inclure plugin.jar
dans votre chemin de classe.
en utilisant JSObject
Les objets JavaScript transmis aux méthodes Java deviennent JSObject
instances. Cet exemple montre une classe Java Player
accès aux membres d'un objet JavaScript:
var myString = new java.lang.String("Test String"); alert(myString.length()); // Outputs 11
Utilisation de JSException
pour la gestion des erreurs
La classe JSException
gère les erreurs pendant l'accès javascript à partir de java:
var myInteger = java.lang.Integer; alert(myInteger.MIN_VALUE);
Un exemple complet (illustratif)
Cet exemple démontre une application simple qui prend la saisie des utilisateurs (nom, âge, langage de programmation préféré) et fournit des recommandations de framework. Il s'agit de classes Java et Javascript Programmer
et une applet Java. (Code détaillé omis pour la concision, mais la structure et les concepts sont décrits).
Conclusion
LiveConnect offre une puissante interopérabilité, mais son support limité du navigateur nécessite attentivement des alternatives pour la compatibilité des navigateurs. Pour des informations détaillées, reportez-vous à la documentation LiveConnect de Mozilla Developer Network.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!