【问题标题】:Vaadin Adding Javascript to Custom LayoutVaadin 将 Javascript 添加到自定义布局
【发布时间】:2015-05-18 15:27:52
【问题描述】:

我已经阅读了有关此主题的其他帖子。 我只是想澄清一下,vaadin真的没有办法:

  • 创建自定义布局 html 文件,如 custom.html;
  • 向其中导入一个java脚本文件,然后……;
  • 像往常一样从 html 文件中调用 js 函数?

目前我在 Vaadin\themes(project)\layouts 中有 home.html,在 Vaadin\js\custom.js 中有一个 javascript 库。 在我的面板类中,我有注释 @JavaScript({"vaadin://js/custom.js"}),在我的 html 中,我尝试了 <script type="text/javascript" src="custom.js"></script>

我在html文件中有一些超链接,点击时需要调用js函数。

如果可能的话,任何信息会最有帮助吗?

【问题讨论】:

    标签: javascript vaadin


    【解决方案1】:

    不可能直接从您的 html 布局中调用它。请注意,您的自定义 html 文件只是一个布局,因此 Vaadin 使用您的布局和服务器端代码生成他自己的 html。这就是为什么您的 <script> 注释不仅是多余的 - 它根本没用。

    但是仍然可以使用 Vaadin 调用 JavaScript。使用侦听器,您可以从服务器调用客户端代码:

    ok.addClickListener(new ClickListener()
    {
        @Override
        public void buttonClick(ClickEvent event)
        {
            JavaScript.getCurrent().execute("itsHot()");
        }
    });
    

    【讨论】:

    • 好的,我看到了一个使用 JavaScript.getCurrent().execute("") 的示例,但希望有一种方法可以创建 html 而不是生成它。但是感谢您提供的信息,现在说得通了。
    • 请注意,如果您在 UI 类中使用 @PreserveOnRefresh 注释,则这些 JavaScript.getCurrent().execute(..) 命令可能不会在刷新时执行。在点击监听器执行它的情况下,它应该不是问题。
    猜你喜欢
    • 2014-11-11
    • 2022-09-20
    • 1970-01-01
    • 2015-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多