Bagaimana untuk memanggil kaedah kelas JAVA dalam js

王林
Lepaskan: 2024-01-15 17:48:11
ke hadapan
1460 orang telah melayarinya

Bagaimana untuk memanggil kaedah kelas JAVA dalam js

Bagaimanakah js memanggil kaedah kelas JAVA? Kod khusus

Gunakan kaedah ajax.

Pertama, hantar nama kelas dan nama kaedah untuk dipanggil sebagai parameter kepada servlet. Langkah ini boleh dicapai menggunakan rangka kerja atau terus menggunakan objek XMLHttpRequest.

Selain itu, sebaiknya tulis nama kelas yang akan dipanggil dan laluan pakej lengkap kelas dalam fail konfigurasi

Di sini kita menganggap bahawa nama kelas ialah Hello, nama kaedah ialah sayHello, dan kaedah sayHello tidak mengambil parameter, dan laluan kelas ialah com.demo.Hello

Fail konfigurasi AjaxConfig.properties

Hello = com.demo.Hello

Jadi parameter yang diluluskan ialah class=Hello&method=sayHello

Lakukan pemprosesan berikut dalam servlet:

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

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

String classPath=null;

.

Baca fail konfigurasi, keluarkan nilai yang sepadan dengan className dan masukkan ke dalam pembolehubah classPath (terdapat banyak cara untuk melakukan langkah ini, cara membaca fail konfigurasi, anda boleh mencari maklumat dalam talian, terdapat banyak, saya tidak akan pergi ke butiran)

.

Class c=Class.forName(classPath); //Muatkan kelas yang anda tentukan

Param kelas[]=Kelas baharu[0]; //Parameter kaedah ialah 0

Kaedah m=null;

String returnValue=null; //Return value

cuba {

m = c.getMethod("sayHello",param); //Dapatkan kaedah yang ditentukan dalam kelas yang anda tentukan

} tangkapan (SecurityException e) {

//TODO Blok tangkapan yang dijana secara automatik

e.printStackTrace();

} tangkapan (NoSuchMethodException e) {

//TODO Blok tangkapan yang dijana secara automatik

e.printStackTrace();

}

cuba {

returnValue=(String)m.invoke(c.newInstance(), new Object[0]); //Panggil kaedah yang anda tentukan

} tangkapan (IllegalArgumentException e) {

//TODO Blok tangkapan yang dijana secara automatik

e.printStackTrace();

} tangkapan (IllegalAccessException e) {

//TODO Blok tangkapan yang dijana secara automatik

e.printStackTrace();

} tangkapan (InvocationTargetException e) {

//TODO Blok tangkapan yang dijana secara automatik

e.printStackTrace();

} tangkapan (InstantiationException e) {

//TODO Blok tangkapan yang dijana secara automatik

e.printStackTrace();

}

Akhir sekali, kembalikan nilai returnValue kepada pelanggan

Kelas Hello.java

Kelas awam Hello

{

String awam sayHello()

{

balas "hello";

}

}

Jika anda tidak faham, tambah 67919823 dan mari kita bincangkan bersama

Cara menggunakan objek dalam java dalam javascript

Untuk memudahkan interaksi antara halaman web dan aplikasi Android, sistem Android menyediakan mekanisme untuk skrip web JavaScript dalam WebView untuk memanggil kaedah kelas Java. Cuma panggil kaedah addJavascriptInterface untuk memetakan objek Java ke objek JavaScript.

1. Memetakan objek Java ke objek JavaScript

Kod adalah seperti berikut:

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

mWebView.setVerticalScrollbarOverlay(true);

tetapan WebSettings akhir = mWebView.getSettings();

tetapan.setSupportZoom(benar);

//WebView mendayakan pelaksanaan skrip Javascript

settings.setJavaScriptEnabled(true);

settings.setJavaScriptCanOpenWindowsAutomatically(true);

//Peta objek Java ke objek Javascript bernama "js2java"

//Dalam JavaScript, anda boleh memanggil kaedah objek Java melalui "window.js2java"

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

Kod adalah seperti berikut:

/**Antara muka panggilan Javascript halaman web**/

kelas JSInvokeClass {

kekosongan awam kembali() {

activity.finish();

}

}

2. Contoh JavaScript memanggil objek Java

Panggil kaedah belakang objek kelas JSInvokeClass di atas, seperti berikut:

Salin kod Kod adalah seperti berikut:

window.js2java.back();

Cara menggunakan kaedah dalam kelas java dalam JavaScript

Sukar! Satu meja depan dan satu lagi meja belakang, tetapi AJAX menyedari idea ini! . Di bawah ialah contoh AJAX:

//Dokumen JavaScript

var xmlHttp;

fungsi GetXmlHttpObject()

{

var xhr=null;

cuba

{

// Firefox, Opera 8.0+, Safari

xhr= XMLHttpRequest baharu();

}tangkap (e)

{

// Internet Explorer

cuba

{

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

}tangkap (e)

{

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

}

}

kembali xhr;

}

fungsi getDataByDept(str)

{

xmlHttp = GetXmlHttpObject();

jika(xmlHttp==null)

{

makluman ("Maaf! Penyemak imbas anda tidak menyokong AJAX!");

kembali;

}

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

}

keadaan fungsiDiubah()

{

jika(xmlHttp.readyState == 4)

{

hasil var = xmlHttp.responseText;

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

}

}

Ideanya adalah untuk memanggil kaedah JS melalui peristiwa kawalan HTML, dan memanggil skrip pelayan melalui kaedah terbuka objek httprequest dalam proses JS ----- Dalam skrip pelayan, anda boleh menggunakan kaedah javabean dan luluskan hasil pengiraan kepada JS Curves merealisasikan fikiran anda

Atas ialah kandungan terperinci Bagaimana untuk memanggil kaedah kelas JAVA dalam js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:docexcel.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan