js調用java
A. js怎麼調用java 類中方法
B. js怎麼調用java 類中方法
<javascript>
<%
//在這里隨便怎麼調用java類的方法都可以 ,比如說下面寫一個
User u=new User();
User u=new User();
u=u.getuserbyid(1);
%>
//上面我用java代碼根據id取得了一個user類的實體 u 下面就可以用js操作顯示等等
alert(<%=u.getusername()%>);//在窗口列印一個用戶名
</javascript>
C. 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,我們一起討論呀
D. js中可以調用java代碼嗎
js不能直接調用java代碼。
可以通過頁面提交後台的方式,間接調用後台的服務java代碼。
也可以通過ajax的方式,調用後台的服務java代碼。
兩種方式稍有差別,不過都是前後台的通信交互。
E. Java調用JS腳本里的方法
本例子使用了JDK 以上的javax script包 通過Invocable介面實現JAVA調用JS腳本里的方法 本例中調用分為內部執行腳本和外部執行腳本 外部執行腳本分為不帶參數調用和帶參數調用 主要採用invokeFunction方法調用 ObjectinvokeFunction(String name Object… args) 用於調用腳本中定義的頂層程序和函數 ObjectinvokeMethod(Object thiz String name Object… args) 對以前的腳本執行中已經編譯的腳本對象(以 ScriptEngine 的狀態保持)調用某一方法 package de javase; import javax script Invocable; import javax script ScriptEngineManager; import javax script ScriptEngine; import java io File; import java io Reader; import java io FileReader; public class AjavaInvokingFunction { public static void main(String[] args) { // 獲得一個JavaScript腳本引擎 也可以是ECMAScript腳本引擎 ScriptEngineManager manager = new ScriptEngineManager() ScriptEngine engine = manager getEngineByName( JavaScript ) String titlescript = function sayTitle() { + println( 源碼實例 使用javax script調用JS腳本里的方法 ) + println( ) + } ; try {// 調用內部腳本執行 engine eval(titlescript) // 轉換為Invocable Invocable invocableEngine = (Invocable) engine; // 不帶參數調用sayTitle方法 invocableEngine invokeFunction( sayTitle ) // 調用外部腳本執行 // 創建JS文件的File對象 並讀入流 File functionscript = new File( ajava js ) Reader reader = new FileReader(functionscript) // 開始執行ajava js里的程序 engine eval(reader) // 不帶參數調用sayHello方法 invocableEngine invokeFunction( sayHello ) // 帶參數調用sayHello方法 invocableEngine invokeFunction( sayHello mark ) } catch (Exception e) { e printStackTrace() } } } ajava js文件 function sayHello(){ sayHello(null) } function sayHello(name){ if(name==null){ println( 歡迎你!請注冊Ajava會員 ) }else{ println(name+ 獨立JAVA社區歡迎你 ) } } 運行結果(控制台) 源碼實例 使用javax script調用JS腳本里的方法 lishixin/Article/program/Java/hx/201311/26436
F. 怎麼實現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.(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();