ajax メソッドを使用します。
まず、呼び出すクラス名とメソッド名をパラメータとしてサーブレットに渡します。この手順は、フレームワークを使用するか、XMLHttpRequest オブジェクトを直接使用して実行できます。
さらに、呼び出されるクラス名とクラスの完全なパッケージ パスは、構成ファイルに記述するのが最適です
ここでは、クラス名が Hello、メソッド名がsayHello、sayHello メソッドがパラメータを取らず、クラスパスが com.demo.Hello
であると仮定します。設定ファイルAjaxConfig.properties
こんにちは = com.demo.Hello
つまり、渡されるパラメータは class=Hello&method=sayHello
です。サーブレットで次の処理を行います。
String className=request.getParameter("クラス名");
String メソッド名=request.getParameter("メソッド");
文字列クラスパス=null;
.
設定ファイルを読み取り、className に対応する値を取り出し、classPath 変数に入れます (これを行うには多くの方法があります。設定ファイルの読み取り方法は、オンラインで情報を見つけることができます。たくさんあります。私が説明します)詳細には触れません)
.
Class c=Class.forName(classPath); //指定したクラスをロードします
Class param[]=new Class[0]; //メソッドのパラメータは 0
メソッド m=null;
String returnValue=null; //戻り値
###試す {###m = c.getMethod("sayHello",param); //指定したクラスの指定したメソッドを取得します
} catch (SecurityException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (NoSuchMethodException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
###試す {###returnValue=(String)m.invoke(c.newInstance(), new Object[0]); //指定したメソッドを呼び出します
} catch (IllegalArgumentException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (InvocationTargetException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
} catch (InstantiationException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}
最後に、returnValue の値をクライアントに返します
クラス Hello.java
パブリッククラスこんにちは
{
パブリック文字列sayHello()
{
「こんにちは」を返す;
}
}
理解できない場合は、67919823 を追加してください。一緒に話し合います
JavaScript で Java のオブジェクトを使用する方法
Web ページと Android アプリケーション間の対話を容易にするために、Android システムは、WebView の JavaScript Web スクリプトが Java クラス メソッドを呼び出すためのメカニズムを提供します。 addJavascriptInterface メソッドを呼び出して、Java オブジェクトを JavaScript オブジェクトにマップするだけです。
コードは以下のように表示されます:
mWebView = (WebView) findViewById(R.id.wv_content);
mWebView.setVerticalScrollbarOverlay(true);
最終的な WebSettings 設定 = 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");
コードは以下のように表示されます:
/**Web ページの Javascript 呼び出しインターフェイス**/
クラスJSInvokeClass {
パブリック void back() {
activity.finish();
}
}
2. Java オブジェクトを呼び出す JavaScript の例
次のように、上記の JSInvokeClass クラス オブジェクトの back メソッドを呼び出します。
コードをコピーします コードは次のとおりです:window.js2java.back();
JavaScript で Java クラスのメソッドを使用する方法
###それは難しい!一人はフロントデスク、もう一人はバックデスクですが、AJAX はこの考えを実現します。 . 以下は AJAX の例です:
// JavaScript ドキュメント
関数 GetXmlHttpObject()
{
var xhr=null;
###試す###{
// Firefox、Opera 8.0、Safari
xhr=新しいXMLHttpRequest();
}キャッチ (e)
{
###//インターネットエクスプローラ### ###試す###{
xhr=新しい ActiveXObject("Msxml2.XMLHTTP");
}キャッチ (e)
{
xhr=新しい ActiveXObject("Microsoft.XMLHTTP");
}
}
xhr を返す;
}
関数 getDataByDept(str)
{
xmlHttp = GetXmlHttpObject();
if(xmlHttp==null)
{
alert("申し訳ありません! お使いのブラウザは AJAX をサポートしていません!");
###戻る;###}
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);
}
関数 stateChanged()
{
if(xmlHttp.readyState == 4)
{
var result = xmlHttp.responseText;
document.getElementById("select_employees").innerHTML = result;
}
}
アイデアは、HTML コントロールのイベントを通じて JS メソッドを呼び出し、JS プロセス内の httprequest オブジェクトの open メソッドを通じてサーバー スクリプトを呼び出すことです。----- サーバー スクリプトでは、 javabeanメソッドを利用して計算結果をJS.Curveで実現します
以上がJavaクラスメソッドをjsで呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。