在javascript代码中调用Java方法
我创建了一个Java类内容方法,返回一个String,我的问题是如何在我的JavaScript代码中调用此函数以使用从java方法返回的值。我想调用嵌入在浏览器中的客户端Java代码。
这是我在说什么的一个例子:
在我的网页中,我有一个javascript代码,下面是其中的一些内容:
function createChartControl(htmlDiv1){
// Initialize Gantt data structures
//project 1
var parentTask1 = new GanttTaskInfo(1, "Old code review", new Date(2010, 5, 11), 208, 50, "");
......................
我想创建一个Java类内容方法来向此javascript函数“ GanttTaskInfo”提供数据。例如函数以获取名称,ID和日期。好吧,我认为这一次我很清楚:D我搜索了一种在javascript中调用Java方法的方法,并且像您说的那样找到了applet,但是我认为它对我没有用。再次感谢
回答:
当它在服务器端时,请使用Web服务-可能是带有JSON的RESTful。
- 创建一个Web服务(例如,使用Tomcat)
- 从JavaScript调用其URL(例如,使用JQuery或dojo)
当Java代码位于applet中时,你可以使用JavaScript桥。Java和JavaScript编程语言之间的桥梁(非正式地称为LiveConnect)是在Java插件中实现的。现在,在所有浏览器中都可以使用以前专用于Mozilla的LiveConnect功能,例如调用静态Java方法,实例化新Java对象和从JavaScript引用第三方程序包的功能。
以下是文档中的示例。看看methodReturningString
。
Java代码:
public class MethodInvocation extends Applet { public void noArgMethod() { ... }
public void someMethod(String arg) { ... }
public void someMethod(int arg) { ... }
public int methodReturningInt() { return 5; }
public String methodReturningString() { return "Hello"; }
public OtherClass methodReturningObject() { return new OtherClass(); }
}
public class OtherClass {
public void anotherMethod();
}
网页和JavaScript代码:
<applet id="app" archive="examples.jar"
code="MethodInvocation" ...>
</applet>
<script language="javascript">
app.noArgMethod();
app.someMethod("Hello");
app.someMethod(5);
var five = app.methodReturningInt();
var hello = app.methodReturningString();
app.methodReturningObject().anotherMethod();
</script>
以上是 在javascript代码中调用Java方法 的全部内容, 来源链接: utcz.com/qa/406449.html