Java 将字符串传递给JSNI

Java 将字符串传递给JSNI,java,javascript,gwt,Java,Javascript,Gwt,向JSNI方法传递字符串时遇到问题: public Wave() { initWave("wave_id"); } 不起作用: public native void initWave(String id)/*-{ var instance = this; var waveform = $wnd.Waveform({ container: $doc.getElementById(id), data: [1, 0.2, 0.5] }); }-*/; public

向JSNI方法传递字符串时遇到问题:

public Wave() {
    initWave("wave_id");
}
不起作用:

public native void initWave(String id)/*-{
var instance = this;
var waveform = $wnd.Waveform({
    container: $doc.getElementById(id),
    data: [1, 0.2, 0.5]
    });
}-*/;
public native void initWave(String id)/*-{
var instance = this;
var waveform = $wnd.Waveform({
    container: $doc.getElementById("wave_id"),
    data: [1, 0.2, 0.5]
    });
}-*/;
有效:

public native void initWave(String id)/*-{
var instance = this;
var waveform = $wnd.Waveform({
    container: $doc.getElementById(id),
    data: [1, 0.2, 0.5]
    });
}-*/;
public native void initWave(String id)/*-{
var instance = this;
var waveform = $wnd.Waveform({
    container: $doc.getElementById("wave_id"),
    data: [1, 0.2, 0.5]
    });
}-*/;

我不知道为什么字符串没有传递给JSNI方法。

您是否尝试了var id而不是字符串id。您已经尝试过的语法应该可以工作,尝试使用不同的参数名称-可能
id
与GWT魔法中的某些内容冲突。现在可以了,我必须使用u id而不是id,似乎您是对的@IanRoberts