js怎麼呼叫JAVA類別的方法

王林
發布: 2024-01-15 17:48:11
轉載
1461 人瀏覽過

js怎麼呼叫JAVA類別的方法

js怎麼呼叫JAVA類別的方法?具體程式碼

用ajax的方法.

首先,將要呼叫的類別名稱和方法名稱作為參數傳遞給某個servlet。這一步驟可以透過使用框架或直接使用XMLHttpRequest物件來實現。

另外,要呼叫的類別名稱和類別的完整套件路徑最好寫在設定檔裡

這裡假設類別名為Hello,方法名為sayHello,且sayHello方法不帶參數,類別路徑為com.demo.Hello

設定檔AjaxConfig.properties

Hello = com.demo.Hello

#於是傳入的參數為 class=Hello&method=sayHello

在servlet中作如下處理:

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

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

String classPath=null;

.

讀取設定文件,取出className所對應的值放入classPath變數中(這一步方法有很多種,怎麼讀設定文件,可以網路上找資料,很多的,我就不細寫了)

.

Class c=Class.forName(classPath);//載入你所指定的類別

Class param[]=new Class[0];//方法的參數為0個

Method m=null;

String returnValue=null;//回傳值

try {

m = c.getMethod("sayHello",param);//取得你所指定的類別中的指定方法

} catch (SecurityException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (NoSuchMethodException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

try {

returnValue=(String)m.invoke(c.newInstance(), new Object[0]);//呼叫你所指定的方法

} catch (IllegalArgumentException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IllegalAccessException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InvocationTargetException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (InstantiationException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

最後,將returnValue的值回傳給客戶端即可

類別Hello.java

public class Hello

{

public String sayHello()

{

return "hello";

}

}

不明白的加67919823,我們一起討論呀

#

javascript中怎樣用java中的物件

為了方便網頁和Android應用的交互,Android系統提供了WebView中JavaScript網頁腳本呼叫Java類別方法的機制。只要呼叫addJavascriptInterface方法即可映射一個Java物件到JavaScript物件上。

1、映射Java物件到JavaScript物件上

程式碼如下:

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

mWebView.setVerticalScrollbarOverlay(true);

final WebSettings settings = mWebView.getSettings();

settings.setSupportZoom(true);

//WebView啟用Javascript腳本執行

settings.setJavaScriptEnabled(true);

settings.setJavaScriptCanOpenWindowsAutomatically(true);

//映射Java物件到一個名為」js2java「的Javascript物件上

//JavaScript中可以透過"window.js2java"呼叫Java物件的方法

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

程式碼如下:

/**網頁Javascript呼叫介面**/

class JSInvokeClass {

public void back() {

activity.finish();

}

}

2、JavaScript呼叫Java物件範例

呼叫上述JSInvokeClass類別物件的back方法,如下:

複製程式碼 程式碼如下:

window.js2java.back();

如何在JavaScript中使用java類別中的方法

很難!一個是前台,一個是後台,但AJAX 實現了這個想法! . 下面是一個AJAX實例:

// JavaScript Document

var xmlHttp;

function GetXmlHttpObject()

{

var xhr=null;

try

{

// Firefox, Opera 8.0 , Safari

xhr=new XMLHttpRequest();

}catch (e)

{

// Internet Explorer

try

{

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

}catch (e)

{

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

}

}

return xhr;

}

function getDataByDept(str)

{

xmlHttp = GetXmlHttpObject();

if(xmlHttp==null)

{

alert("很抱歉!您的瀏覽器不支援AJAX!");

return;

}

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

}

function stateChanged()

{

if(xmlHttp.readyState == 4)

{

var result = xmlHttp.responseText;

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

}

}

想法就是,透過HTML控制項的事件呼叫JS的方法,在JS理透過httprequest物件的open方法呼叫伺服器腳本----- 在伺服器腳本裡你可以用javabean的方法,並且把計算結果傳遞給JS.曲線實現了你的思想

以上是js怎麼呼叫JAVA類別的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:docexcel.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板