【问题标题】:UnsatisfiedLinkError using JSNI with vaadinUnsatisfiedLinkError 使用 JSNI 和 vaadin
【发布时间】:2016-11-24 15:27:35
【问题描述】:

我创建了一个 Vaadin 项目,并使用 JSNI 编写脚本。但是当执行到 JSNI 脚本时,它会显示错误。

java.lang.UnsatisfiedLinkError: com.yty.cws.CiwsUI.jsniDemo()V
    at com.yty.cws.CiwsUI.jsniDemo(Native Method) ~[classes/:na]
    at com.yty.cws.CiwsUI.lambda$0(CwsUI.java:31) ~[classes/:na]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_92]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_92]

以下是我的示例代码。

public class CiwsUI extends UI{

    private static final long serialVersionUID = 5275145103992848572L;
    VerticalLayout mainLayout=new VerticalLayout();
    private TextField txtName=new TextField();
    private Button btnJSNI=new Button("JSNI");
    @Override
    protected void init(VaadinRequest request) {

        mainLayout.addComponents(txtName,btnJSNI);
        setContent(mainLayout);
        mainLayout.setComponentAlignment(txtName, Alignment.MIDDLE_CENTER);
        mainLayout.setComponentAlignment(btnJSNI, Alignment.MIDDLE_CENTER);
        btnJSNI.addClickListener(e->{
            System.out.println("Clicked");
            jsniDemo();
        });
    }
    private native void jsniDemo()/*-{
    $wnd.alert("Hai JSNI");
    }-*/;

}

非常感谢任何帮助。

【问题讨论】:

    标签: vaadin jsni vaadin-spring-boot


    【解决方案1】:

    如果您查看differences between GWT & Vaadin,您会注意到除了客户端 API 之外,Vaadin 还有一个服务器端 API,您发布的代码属于该类别。搜索 Vaadin 论坛我发现 this question 与您的确切问题。在下面添加来自 Vaadin 开发团队的 Henry Sara 的回复:

    JSNI 仅在您工作时在客户端小部件中可用 在服务器端。

    使用 Window.executeJavaScript("...") (Vaadin 6) 或 Root.executeJavaScript("...") (Vaadin 7) 如果你需要执行 来自服务器端应用程序的 JavaScript。

    虽然自从答案和Root.executeJavaScript("..."); 现在可能是JavaScript.getCurrent().execute(...)"); 之后情况可能发生了变化,但 Vaadin 文档提供了有关 javascript interactions to and from the serversidejs components and extensions 的信息,此外,您可以查看 wiki 了解更多信息例子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-22
      • 2013-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多