當前位置:首頁 » 密碼管理 » js訪問java

js訪問java

發布時間: 2022-05-10 10:03:31

『壹』 怎麼在js調用java方法

如果你是在JSP頁面里,在js代碼里可以用<% ...java代碼....%>
不過不建議混編,最好JS和JAVA代碼分開,JS可以通過AJAX調用訪問JAVA提供的介面,利於後期維護。
題主的問題回答:
方法1.提供一個servlet ,在servlet中調用getAllEmployees()
方法,把響應的值寫入response,修改響應頭為application/json,在頁面使用ajax訪問servlet,最後處理響應值
方法2..提供一個servlet ,在servlet中調用getAllEmployees()
方法,把響應的值存入request作用域,在JSP頁面中使用EL表達式獲取值

『貳』 js怎麼調用java類

通常處理這種情況都是用ajax(非同步請求)來處理,
發一個ajax請求到你的java類中,返回數據看看是否正確再做處理 ajax調用方式
$.ajax({
type: "post", //提交方式
url: "test.action", / /提交的地址(RUL)
data: "name='張三'", //提交的資料庫(key-value形式,多個參數用&分割)
dataType: "json", //伺服器返回的數據類型
success: function(data){ //執行成功後回調的方法
alert(data);
}
});
使用這個ajax別忘記導入jquery

『叄』 如何在Android平台上使用JS直接調用Java方法

Android平台上使用js調用java方法,主要是通過webview控制項提供的webview.addJavascriptInterface(newPerson(this),"per"); 這個方法將java對象注入到js中,然後可以在js中通過調用該java對象的方法來實現回調,如下代碼:

1.html文件,demo.html

<html>
<head>
<scripttype="text/javascript">
functionupdateHtml(type,type2){
document.getElementById("content").innerHTML=
"彈出對話框,測試"+type+type2;

alert("dialog");
}

</script>
</head>
<body>
這是一個js與android的例子<aonClick="window.ceshi.startFunction()"href="">彈出對話框</a>
調用對象方法<aonClick="per.print()"href="">調用對象方法</a>
<spanid="content"></span>
</body>
</html>


2.android端控制代碼:

packagecom.ccb.javascript;

importandroid.app.Activity;
importandroid.app.AlertDialog;
importandroid.content.Context;
importandroid.content.DialogInterface;
importandroid.os.Bundle;
importandroid.util.Log;
importandroid.view.View;
importandroid.view.View.OnClickListener;
importandroid.webkit.WebView;
importandroid.widget.Button;
importandroid.widget.Toast;

{

intpriceMenu1=1;

/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//獲取webView控制項
finalWebViewwebview=(WebView)findViewById(R.id.webview);
//加上這句話才能使用javascript方法
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/demo.html");
webview.addJavascriptInterface(newPerson(this),"per");
Buttonbutton=(Button)findViewById(R.id.button);//獲取button控制項
//即"調用html中的js方法"
//按鈕
//給button添加事件響應,執行JavaScript的fillContent()方法
button.setOnClickListener(newButton.OnClickListener(){
@Override
publicvoidonClick(Viewv){


webview.loadUrl("javascript:updateHtml('str11','bar22')");//多個參數拼接
}
});

Buttonbutton1=(Button)findViewById(R.id.button1);//獲取button1控制項
//即"重新載入html"按鈕
//給button添加事件響應,執行JavaScript的fillContent()方法
button1.setOnClickListener(newButton.OnClickListener(){
@Override
publicvoidonClick(Viewv){
Log.d("MainActivity","button1OnClick");
webview.loadUrl("file:///android_asset/demo.html");
//return
}
});

//增加介面方法,讓html頁面調用
webview.addJavascriptInterface(this,"ceshi");

Buttonbuttonceshi=(Button)findViewById(R.id.buttonceshi);
buttonceshi.setOnClickListener(newOnClickListener(){

@Override
publicvoidonClick(Viewv){

}
});

}

publicvoidstartFunction(){
AlertDialog.Builderab=newAlertDialog.Builder(MainActivity.this);
ab.setTitle("提示");
ab.setMessage("通過js調用了java中的方法");
ab.setPositiveButton("確定",newDialogInterface.OnClickListener(){
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
dialog.dismiss();
}
});
ab.create().show();
}

classPerson{
ContextmContext;

Person(Contextc){
mContext=c;
}

Stringname="我的名字是對象";
intage;
publicStringgetName(){//js裡面無法直接使用對象加屬性的方式訪問,暫時沒找到方法,只能用對象加getName
<spanstyle="white-space:pre"></span>returnname;
<spanstyle="white-space:pre"></span>}
publicvoidprint(){
Toast.makeText(mContext,"你好",Toast.LENGTH_LONG).show();

System.out.println("我成功的調用了對象");
}
}
}

運行結果如下:

『肆』 如何 js 直接調用 java

  1. 使用ajax用js發送非同步請求到java進行交互

  2. 使用dwr框架,可以實現js和java的直接交互

『伍』 怎麼實現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();

『陸』 js中可以調用java代碼嗎

js不能直接調用java代碼。
可以通過頁面提交後台的方式,間接調用後台的服務java代碼。
也可以通過ajax的方式,調用後台的服務java代碼。
兩種方式稍有差別,不過都是前後台的通信交互。

『柒』 在js里如何調用java類面的方法

body中部分代碼如:<center><font size="4" color="red">吊燈</font> <input type="button" id="diaodeng" value=<%=state[0]%> onclick="dianji1()"><br><br><br><br></center>
script中的的代碼如下:
function dianji1(){
var abc=document.getElementById("diaodeng");
if(abc.value=="on"){
abc.value="off";
}
else{
abc.value="on";
}
}
要求是通過點擊按鈕能夠調用java類中的方法從而修改資料庫中的內容
或者
$("button").click(function(){
$.post("/foo/usr/11",function(data){

});
});

jquery post方法調用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,我們一起討論呀

『玖』 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>

熱點內容
我配置很高了ae為什麼卡 發布:2025-05-17 14:54:50 瀏覽:167
python數據分析實戰pdf 發布:2025-05-17 14:49:42 瀏覽:950
海瀾之家廣告腳本 發布:2025-05-17 13:56:06 瀏覽:32
手文件夾恢復 發布:2025-05-17 13:53:32 瀏覽:995
linux怎麼看進程 發布:2025-05-17 13:53:30 瀏覽:303
thinkphp欄位緩存 發布:2025-05-17 13:52:01 瀏覽:577
山靈app安卓版如何設置 發布:2025-05-17 13:51:49 瀏覽:390
帆布壓縮袋 發布:2025-05-17 13:26:27 瀏覽:462
c語言16進製表示方法 發布:2025-05-17 13:11:25 瀏覽:484
ftp單位 發布:2025-05-17 13:10:03 瀏覽:146