本文目錄一覽:
js 怎麼調用JAVA類的方法?具體代碼?
用ajax的方法.
首先將要調用的類名和方法名作為參數傳給某個servlet.這一步的方法有許多種,用框架,或者直接用xmlHttpRequest對象.
另外,要調用的類名和類的完整包路徑最好寫在配置文件里
這裡假設類名為Hello,方法名為sayHello,並且sayHello方法不帶參數,類路徑為com.demo.Hello
配置文件AjaxConfig.properties
Hello = com.demo.Hello
於是傳入的參數為 class=Hellomethod=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 如何將js中的參數傳到java中 如何使用ajax
思路:
通過頁面提交或者ajax等方式把頁面參數傳入到java中。
代碼示例:
select name=”test” name=”test” onchange=”test1($(this).val())”
option value=”1″test/option
/select
div id=”display”/div
function test1(val)
{
$.ajax({
url:”新建的服務器的URL地址,比如servlet”,
data:{selectValue:val},//這把val值傳入到後台java,後台可以通過request.getParameter(“selectValue”)獲取到val值
dataType:”json”, //如果JSP里輸出的數據格式為json的話,這裡就必須要寫了,如果不是,這裡可以省去
type:”GET”,
beforeSend:function(){},
success:function(data){
$(“#display”).html(data); //如果返回格式為文本格式的話,直接這樣就可以,如果是JSON的話,就看你輸出的是什麼數據了
}
});
}
如何將這些JS代碼轉換成JAVA代碼
javascript 和java都不是一個道理的,不是說轉換就可以的,為什麼很多人喜歡跨語言轉換代碼,你們為什麼不能這樣問呢:如何用java來實現某種功能,豈不是更好?
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/236272.html