Vaadin 7:如何从自定义路径导入JS文件?

时间:2014-07-16 08:26:02

标签: vaadin vaadin7

我正在使用 Vaadin-7 this的回答并不适用于我。

我正在尝试导入myproject/WebContent/js/test.js下的js文件。我在我的UI类中使用了@JavaScript,如下所示。

@Theme("myTheme")
@SuppressWarnings("serial")
@Title("VaadinTest")
@JavaScript("js/test.js")
public class VaadinTest extends UI {

@Override
protected void init(VaadinRequest request) {
    final VerticalLayout layout = new VerticalLayout();
    layout.setMargin(true);
    setContent(layout);
}
}

但是我的firebug控制台出现了"NetworkError: 404 Not Found - http://localhost:8080/myproject/APP/PUBLISHED/js/test.js"错误日志。

那么,如何从我的自定义目录导入js文件?

  

PS:请不要强迫我手动创建 APP / PUBLISHED / 目录!感谢。

2 个答案:

答案 0 :(得分:15)

您可以使用app://

@JavaScript({ "app://js/test.js" })

或使用:

@JavaScript({ "vaadin://js/test.js" })

在VAADIN文件夹中生成的网址:

http://localhost:8080/myproject/VAADIN/js/test.js

答案 1 :(得分:3)

您引用的文件必须是类加载器相对于您使用它的软件包可以访问的。根据您的示例,假设您的VaadinTest包是com.example.app并且您要访问它作为js/test.js,你必须把它放在" root"的目录com/example/app/js/test.js中。让类加载器找到它(例如src/main/java,groovy或从配置中加载资源的位置)。