在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

回到顶部