当前位置: 首页 > 面试题库 >

在javascript代码中调用Java方法

梁兴文
2023-03-14
问题内容

我创建了一个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>


 类似资料:
  • 问题内容: 如果可以的话,如何在Wicket的JavaScript代码中调用Java代码(例如方法)。 问题答案: 呃 正确的答案应该是ajax回调。您可以手动将js编码为挂钩到wicket js,也可以在java中通过wicket组件设置回调。例如,从AjaxLazyLoadPanel中: 本示例说明如何将回调代码添加到Wicket中的任何组件。在浏览器中触发OnDomReady事件后,加载页面

  • 问题内容: 基本上,我有一个嵌入页面的页面,并且有一些需要从父页面调用的JavaScript例程。 现在,相反的操作非常简单,因为您只需要调用,但是不幸的是,我需要恰好相反。 请注意,我的问题是不会改变的源URL的,但是调用在定义的函数。 问题答案: 假设您的iFrame的ID为“ targetFrame”,而您要调用的函数为: 您也可以使用代替访问框架。

  • 问题内容: 通过使用Java Scripting API,我能够在Java中执行JavaScript。但是,有人可以解释一下我需要添加到此代码中以便能够调用C:/Scripts/Jsfunctions.js中的函数吗? 问题答案: 使用读剧本

  • 通过使用Java脚本API,我能够在Java中执行JavaScript。但是,有人能解释一下,为了能够调用C:/scripts/jsfunctions.js中的函数,我需要在这段代码中添加什么内容吗

  • 问题内容: 我有一个会话密钥,它是我从REST API调用中获得的JavaScript变量。我需要在Servlet中调用Java代码,并将该键作为参数传递。我可以使用什么JavaScript函数来做到这一点? 问题答案: 几种方法: 使用火的GET请求。注意,它是同步的(因此客户端将看到当前页面正在更改)。 请注意,内置函数在传递请求参数之前对其进行编码的重要性。 用火GET或POST请求。需要注

  • 问题内容: 我有一个Java类:: 这给了我一个Json数组。现在,我想在JavaScript中一次又一次调用此类的method()以获得新值,因为我更新了我的数据库。我有一个数据网格,当页面首次加载此json数组中的一组值时,该网格运行良好。但是如何使用Ajax刷新数据。或者如何使用Ajax调用method()以便当我单击页面上的按钮时刷新数据。我在Java脚本中调用此方法的代码是:: 我在通过