Maison >tutoriels informatiques >connaissances en informatique >Comment appeler la méthode de classe JAVA en js

Comment appeler la méthode de classe JAVA en js

王林
王林avant
2024-01-15 17:48:111544parcourir

Comment appeler la méthode de classe JAVA en js

Comment js appelle-t-il les méthodes de classe JAVA ? Code spécifique

Utilisez la méthode ajax.

Tout d’abord, transmettez le nom de la classe et le nom de la méthode à appeler en tant que paramètres à un servlet. Cette étape peut être réalisée à l'aide d'un framework ou directement à l'aide de l'objet XMLHttpRequest.

De plus, il est préférable d'écrire le nom de la classe à appeler et le chemin complet du package de la classe dans le fichier de configuration

Ici, on suppose que le nom de la classe est Hello, le nom de la méthode est sayHello, la méthode sayHello ne prend aucun paramètre et le chemin de la classe est com.demo.Hello

Fichier de configuration AjaxConfig.properties

Bonjour = com.demo.Bonjour

Donc, les paramètres transmis sont class=Hello&method=sayHello

Effectuez le traitement suivant dans la servlet :

String className=request.getParameter("classname");

String methodName=request.getParameter("method");

String classPath=null;

.

Lisez le fichier de configuration, retirez la valeur correspondant à className et mettez-la dans la variable classPath (il existe de nombreuses façons de faire cette étape, comment lire le fichier de configuration, vous pouvez trouver des informations en ligne, il y en a beaucoup, je ne le ferai pas entrer dans les détails)

.

Class c=Class.forName(classPath); //Chargez la classe que vous avez spécifiée

Class param[]=new Class[0]; //Les paramètres de la méthode sont 0

Méthode m=null;

String returnValue=null; //Valeur de retour

essayez {

m = c.getMethod("sayHello",param); //Obtient la méthode spécifiée dans la classe que vous avez spécifiée

} catch (SecurityException e) {

//TODO Bloc de capture généré automatiquement

e.printStackTrace();

} catch (NoSuchMethodException e) {

//TODO Bloc de capture généré automatiquement

e.printStackTrace();

}

essayez {

returnValue=(String)m.invoke(c.newInstance(), new Object[0]); //Appelle la méthode que vous avez spécifiée

} catch (IllegalArgumentException e) {

//TODO Bloc de capture généré automatiquement

e.printStackTrace();

} catch (IllegalAccessException e) {

//TODO Bloc de capture généré automatiquement

e.printStackTrace();

} catch (InvocationTargetException e) {

//TODO Bloc de capture généré automatiquement

e.printStackTrace();

} catch (InstanciationException e) {

//TODO Bloc de capture généré automatiquement

e.printStackTrace();

}

Enfin, renvoyez la valeur de returnValue au client

Classe Bonjour.java

cours public Bonjour

{

chaîne publique sayHello()

{

retourne "bonjour" ;

}

}

Si vous ne comprenez pas, ajoutez 67919823 et discutons-en ensemble

Comment utiliser des objets en Java en javascript

Afin de faciliter l'interaction entre les pages Web et les applications Android, le système Android fournit un mécanisme permettant aux scripts Web JavaScript dans WebView d'appeler les méthodes de classe Java. Appelez simplement la méthode addJavascriptInterface pour mapper un objet Java à un objet JavaScript.

1. Mappage d'objets Java vers des objets JavaScript

Le code est le suivant :

mWebView = (WebView) findViewById(R.id.wv_content);

mWebView.setVerticalScrollbarOverlay(true);

paramètres WebSettings finaux = mWebView.getSettings();

settings.setSupportZoom(true);

//WebView permet l'exécution de scripts Javascript

settings.setJavaScriptEnabled(true);

settings.setJavaScriptCanOpenWindowsAutomatically(true);

//Mappez des objets Java sur un objet Javascript nommé "js2java"

//En JavaScript, vous pouvez appeler des méthodes d'objet Java via "window.js2java"

mWebView.addJavascriptInterface(new JSInvokeClass(), "js2java");

Le code est le suivant :

/**Interface d'appel Javascript de page Web**/

classe JSInvokeClass {

public void back() {

activité.finish();

}

}

2. Exemple d'appel JavaScript d'un objet Java

Appelez la méthode back de l'objet de classe JSInvokeClass ci-dessus, comme suit :

Copiez le code Le code est le suivant :

window.js2java.back();

Comment utiliser les méthodes dans les classes Java en JavaScript

C'est dur ! L’un est la réception et l’autre est la réception, mais AJAX réalise cette idée ! . Ci-dessous un exemple AJAX :

//Document JavaScript

var xmlHttp;

fonction GetXmlHttpObject()

{

var xhr=null;

essayez

{

//Firefox, Opera 8.0+, Safari

xhr=nouveau XMLHttpRequest();

}attrape(e)

{

//Internet Explorer

essayez

{

xhr=nouvel ActiveXObject("Msxml2.XMLHTTP");

}attrape(e)

{

xhr=nouveau ActiveXObject("Microsoft.XMLHTTP");

}

}

retour xhr;

}

fonction getDataByDept(str)

{

xmlHttp = GetXmlHttpObject();

if(xmlHttp==null)

{

alerte ("Désolé ! Votre navigateur ne prend pas en charge AJAX !");

retour ;

}

var url = "/intcard/jsp/employee.do?method=getByDept"

xmlHttp.onReadyStateChange=stateChanged;

xmlHttp.open("post",url,true);

xmlHttp.setRequestHeader('Content-Type', 'application/x--form-urlencoded;charset=UTF-8');

xmlHttp.send("dept=" + str);

}

fonction stateChanged()

{

if(xmlHttp.readyState == 4)

{

var résultat = xmlHttp.responseText;

document.getElementById("select_employees").innerHTML = result;

}

}

L'idée est d'appeler la méthode JS via l'événement du contrôle HTML, et d'appeler le script serveur via la méthode open de l'objet httprequest dans le processus JS ----- Dans le script serveur, vous pouvez utiliser la méthode javabean et transmettez le résultat du calcul à JS Curves, réalisez vos pensées

.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer