0

私は GWT と Javascript の初心者です。

java int[] を JavaScript 関数に送信しようとしています。私は gwt-exporter を使用して処理を処理しています。これが私が物事を設定した方法です。

static class gwtExplorerTest implements Exportable {

    @Export("$wnd.handleAnchorClick")
    public static void handleAnchorClick(int param1, int param2 , int[] a1 , int[] a2)
    {
        //process  things here          
    }
}

ここで必要な配列を渡すためのJavaScriptコードを誰かが手伝ってくれますか? 私が現在持っているものは次のとおりです。

href="javascript:window.handleAnchorClick(" + currentRow + "," + currentColumn + "," + rowVals + "," + colVals + ",") "

私のJS関数呼び出しとして、rowValsとcolValsは渡す必要がある2つの配列です。うまくいかないようです。誰かが私を助けてくれますか?

ありがとう

4

2 に答える 2

0

Java の関数は正しく、gwt-exporter はこの構文をサポートしています。JS からの呼び出しは次のようになります。

 window.handleAnchorClick(1, 2, [3,4], [5,6])

あなたの問題は、エクスポートされたメソッドをhrefあなたの属性から呼び出そうとしhtmlていて、間違った構文を使用していることです.

まず、タグは必要ないため、onClick代わりに属性を使用することをお勧めします。また、デフォルトを防止することをお勧めします。そして、構文の問題を回避するために呼び出しを行う関数を定義したいと思います。hrefjavascript:

<script>
  var currentRow = 1;
  var currentColumn = 2;
  var rowVals = [3,4];
  var colVals = [5,6];

  function mycall() {
    window.handleAnchorClick(currentRow, currentColumn, rowVals, colVals);
  }
</script>

<!-- I prefer this -->
<a href="#" onClick="javascript:mycall()">click</a>

<!-- But this should work as well -->
<a href="#" onClick="window.handleAnchorClick(currentRow,currentColumn,rowVals,colVals)">click</a>
于 2013-04-19T07:03:57.720 に答える