2011-08-11 4 views
0

J'ai lu un peu mais je ne trouve pas de réponse simple à cette question. Dites que j'ai une page HTML, et du Javascript incorporé dans cette page. De plus, j'ai une java.class dans un paquet appelé somePackage.someSubPackage. *; Comment pourrais-je appeler une méthode dans java.class à partir d'une fonction javascript dans ma page HTML?Appelez la méthode Java à partir de la fonction JavaScript?

+0

réponse simple - AJAX – amal

Répondre

1

Utilisez DWR

DWR va générer le JavaScript afin de permettre aux navigateurs web d'appeler en toute sécurité dans le code Java presque comme si elle était en cours d'exécution au niveau local. Il peut rassembler pratiquement toutes les données, y compris les collections, les POJO, XML et les données binaires comme les images et les fichiers PDF. Tout ce qui est requis est une politique de sécurité qui définit ce qui est autorisé.

4

Où Java va-t-il fonctionner? Il peut s'agir d'une applet dans le navigateur ou d'un serveur sur un serveur.

La communication de JavaScript vers l'applet est possible, see, mais la plus courante de nos jours consiste à utiliser un appel AJAX vers un serveur.

Vous pouvez envelopper votre Java comme un service appelable en utilisant plusieurs techniques différentes, je recommanderais d'utiliser JAX/RS, il a besoin de très peu de travail. Votre Java est ensuite exposé comme une URL appelable que le JavaScript peut invoquer.

Par conséquent, vous devez étudier deux choses:

  1. Comment appeler un service arbitraire de JavaScript.
  2. Comment exécuter votre Java sur un serveur.

Deux problèmes distincts, mais les deux assez facile.

1

Cela fonctionne 'prêt à l'emploi' pour tout navigateur avec Java installé car la classe System fait partie du J2SE.

<html> 
<body> 
<script type='text/javascript'> 
document.write(java.lang.System.getProperty("java.version")); 
</script> 
</body> 
</html> 

Pour le faire fonctionner pour les classes personnalisées (sur le côté client), il nécessite habituellement pour ces classes à ajouter au chemin de classe d'une applet scriptable. Ensuite, utilisez l'interface JS/applet pour appeler les méthodes & accéder aux attributs.

Questions connexes