Heim  >  Artikel  >  Computer-Tutorials  >  So rufen Sie die JAVA-Klassenmethode in js auf

So rufen Sie die JAVA-Klassenmethode in js auf

王林
王林nach vorne
2024-01-15 17:48:111377Durchsuche

So rufen Sie die JAVA-Klassenmethode in js auf

Wie ruft js JAVA-Klassenmethoden auf? Spezifischer Code

Verwenden Sie die Ajax-Methode.

Übergeben Sie zunächst den Klassennamen und den Methodennamen, die aufgerufen werden sollen, als Parameter an ein Servlet. Dieser Schritt kann mithilfe eines Frameworks oder direkt mithilfe des XMLHttpRequest-Objekts ausgeführt werden.

Zusätzlich schreibt man am besten den Namen der aufzurufenden Klasse und den kompletten Paketpfad der Klasse in die Konfigurationsdatei

Hier gehen wir davon aus, dass der Klassenname Hello ist, der Methodenname sayHello ist und die Methode sayHello keine Parameter akzeptiert und der Klassenpfad com.demo.Hello ist

Konfigurationsdatei AjaxConfig.properties

Hello = com.demo.Hello

Die übergebenen Parameter sind also class=Hello&method=sayHello

Führen Sie die folgende Verarbeitung im Servlet durch:

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

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

String classPath=null;

.

Lesen Sie die Konfigurationsdatei, nehmen Sie den dem Klassennamen entsprechenden Wert heraus und geben Sie ihn in die Variable classPath ein (es gibt viele Möglichkeiten, diesen Schritt auszuführen, wie Sie die Konfigurationsdatei lesen, Sie können Informationen online finden, es gibt viele, ich werde nicht gehen Sie ins Detail)

.

Class c=Class.forName(classPath); //Die von Ihnen angegebene Klasse laden

Class param[]=new Class[0]; //Die Parameter der Methode sind 0

Methode m=null;

String returnValue=null; //Rückgabewert

versuchen {

m = c.getMethod("sayHello",param); //Holen Sie sich die angegebene Methode in der von Ihnen angegebenen Klasse

} Catch (SecurityException e) {

//TODO Automatisch generierter Catch-Block

e.printStackTrace();

} Catch (NoSuchMethodException e) {

//TODO Automatisch generierter Catch-Block

e.printStackTrace();

}

versuchen {

returnValue=(String)m.invoke(c.newInstance(), new Object[0]); //Rufen Sie die von Ihnen angegebene Methode auf

} Catch (IllegalArgumentException e) {

//TODO Automatisch generierter Catch-Block

e.printStackTrace();

} Catch (IllegalAccessException e) {

//TODO Automatisch generierter Catch-Block

e.printStackTrace();

} Catch (InvocationTargetException e) {

//TODO Automatisch generierter Catch-Block

e.printStackTrace();

} Catch (InstantiationException e) {

//TODO Automatisch generierter Catch-Block

e.printStackTrace();

}

Zuletzt geben Sie den Wert von returnValue an den Client zurück

Klasse Hello.java

öffentliche Klasse Hallo

{

öffentlicher String sayHello()

{

zurück „Hallo“;

}

}

Wenn Sie es nicht verstehen, fügen Sie 67919823 hinzu und lassen Sie es uns gemeinsam besprechen

So verwenden Sie Objekte in Java in Javascript

Um die Interaktion zwischen Webseiten und Android-Anwendungen zu erleichtern, bietet das Android-System einen Mechanismus für JavaScript-Webskripte in WebView zum Aufrufen von Java-Klassenmethoden. Rufen Sie einfach die Methode addJavascriptInterface auf, um ein Java-Objekt einem JavaScript-Objekt zuzuordnen.

1. Zuordnen von Java-Objekten zu JavaScript-Objekten

Der Code lautet wie folgt:

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

mWebView.setVerticalScrollbarOverlay(true);

endgültige WebSettings-Einstellungen = mWebView.getSettings();

settings.setSupportZoom(true);

//WebView ermöglicht die Ausführung von Javascript-Skripten

settings.setJavaScriptEnabled(true);

settings.setJavaScriptCanOpenWindowsAutomatically(true);

//Java-Objekte einem Javascript-Objekt namens „js2java“ zuordnen

//Sie können Java-Objektmethoden über „window.js2java“ in JavaScript aufrufen

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

Der Code lautet wie folgt:

/**Webseite-Javascript-Aufrufschnittstelle**/

class JSInvokeClass {

public void back() {

activity.finish();

}

}

2. Beispiel für den Aufruf eines Java-Objekts durch JavaScript

Rufen Sie die Back-Methode des obigen JSInvokeClass-Klassenobjekts wie folgt auf:

Kopieren Sie den Code. Der Code lautet wie folgt:

window.js2java.back();

So verwenden Sie Methoden in Java-Klassen in JavaScript

Es ist schwer! Einer ist die Rezeption und der andere ist der hintere Schreibtisch, aber AJAX setzt diese Idee um! . Unten ist ein AJAX-Beispiel:

//JavaScript-Dokument

var xmlHttp;

Funktion GetXmlHttpObject()

{

var xhr=null;

versuchen

{

// Firefox, Opera 8.0+, Safari

xhr=new XMLHttpRequest();

}fangen (e)

{

//Internet Explorer

versuchen

{

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

}fangen (e)

{

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

}

}

return xhr;

}

Funktion getDataByDept(str)

{

xmlHttp = GetXmlHttpObject();

if(xmlHttp==null)

{

alert („Entschuldigung! Ihr Browser unterstützt AJAX nicht!“);

zurück;

}

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);

}

Funktion stateChanged()

{

if(xmlHttp.readyState == 4)

{

var result = xmlHttp.responseText;

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

}

}

Die Idee besteht darin, die JS-Methode über das Ereignis des HTML-Steuerelements aufzurufen und das Serverskript über die offene Methode des httprequest-Objekts im JS-Prozess aufzurufen ----- Im Serverskript können Sie die Javabean-Methode verwenden und geben Sie das Berechnungsergebnis an JS Curves weiter, um Ihre Gedanken zu verwirklichen

Das obige ist der detaillierte Inhalt vonSo rufen Sie die JAVA-Klassenmethode in js auf. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:docexcel.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen