1

嗨,我需要一些关于如何包装 javascript 库的指导或指针。

我用一个函数制作了一个简单的javascript“myTest.js”:

function myFunction(num)
{
    if(num==1){
        return "Hello World1!";
    }else{
        return "bye World2!";
    }
}

我在我的简单 HTML 中调用:

<html>
  <head>
    <script type="text/javascript" SRC="myLib.js">  

</script>
    <title>Tutorial: HelloWorld</title>
  </head>
  <body>
    <h1>Example HTML</h1>
    <input type="button" value="button" onclick="alert(myFunction(1))">
  </body>
</html>

显然这个例子在 GWT 中很容易实现。

这只是为了让我了解如何对 javascript 文件进行 gwt-wrapper 以便能够在 GWT 中调用该函数。

谢谢


好的,如果我有一个具有此功能的 js 文件,我需要一个更强大的示例:

  function MyObject() {
    // properties in config
    this.displayname = 'First Last';
    this.username = '1060';
    this.domain = '12.18.34.234';
    this.authname =  '1060';
    this.password = '1060';
    this.transport = 'w34s';
   }

在 html 中是脚本部分,我打了这个电话

var myObj = new MyObject();

我如何在 GWT 中制作这个?

我必须创建类 MyObject 吗?使用 javascript 中显示的字段?

4

4 回答 4

2

为了在 Java 和 JavaScript 类型之间架起桥梁,请使用 GWT 的覆盖类型来创建 API 包装层。

您可以创建一个单独的模块来包含包装的库并将其链接到主模块。

于 2012-09-29T09:42:16.410 回答
0

如果你想在 GWT 中调用原生 javascript,你可以在你的 GWT 类中定义一个原生方法,如下所示:

private native void test(String argument)/*-{
    myFunction(argument);
}-*/

当您从 GWT 调用方法 test("foo") 时,它将调用本机 js 函数 myFunction("foo");

于 2012-09-25T13:35:08.090 回答
0

你必须使用 JSNI。请参阅此处的 GWT 2.4 文档。

于 2012-09-25T13:44:11.707 回答
0

现在你应该使用 JSNI,但也有 js 互操作。js 互操作使事情变得更容易,在即将到来的 2.8 中,js 互操作将成为标准,它将直接内置到 GWT 编译器中。他们说 2.7 中的 js 互操作是实验性的。这是关于它的文档。

于 2015-02-05T17:15:07.200 回答