为了账号安全,请及时绑定邮箱和手机立即绑定

在javascript代码中调用Java方法

在javascript代码中调用Java方法

MYYA 2019-11-18 14:33:56
我创建了一个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,但是我认为它对我没有用。再次感谢
查看完整描述

2 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

当它在服务器端时,请使用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>


查看完整回答
反对 回复 2019-11-18
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

Java是一种服务器端语言,而javascript是一种客户端语言。两者都无法交流。如果您已经使用Java设置了一些服务器端脚本,则可以在客户端上使用AJAX以便向其发送异步请求,从而调用任何可能的Java函数。例如,如果您使用jQuery作为js框架,则可以看看该$.ajax()方法。或者,如果您想使用普通的javascript进行操作,请参考以下教程。


查看完整回答
反对 回复 2019-11-18
  • 2 回答
  • 0 关注
  • 434 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信