Vaadin 7:如何从自定义路径导入JS文件?
我正在使用Vaadin-7,但答案并不适合我 我正试图在Vaadin 7:如何从自定义路径导入JS文件?,vaadin,vaadin7,Vaadin,Vaadin7,我正在使用Vaadin-7,但答案并不适合我 我正试图在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
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);
}
}
但我得到了“网络错误:404未找到-http://localhost:8080/myproject/APP/PUBLISHED/js/test.js“
我的firebug控制台中的错误日志
那么,如何从自定义目录导入js文件呢
PS:请不要强迫我手动创建APP/PUBLISHED/directory!谢谢
您可以使用
app://
:
@JavaScript({ "app://js/test.js" })
或使用:
@JavaScript({ "vaadin://js/test.js" })
在VAADIN文件夹内生成的url:
http://localhost:8080/myproject/VAADIN/js/test.js
您引用的文件必须能够被类加载器相对于您正在使用它的包访问。根据你的例子,假设你的
VaadinTest
包是com.example.app
,你想以js/test.js
的身份访问它,你必须把它放在com/example/app/js/test.js
目录下的“根目录”中,以便类加载器找到它(例如,src/main/java、groovy
或从配置中加载资源的位置).你的意思是我需要将我的js文件放在WebContent/VAADIN/
文件夹下吗?你能支持我关于使用VAADIN://
的更多建议吗?是的,谢谢。在我将我的js文件移到VAADIN文件夹下后,一切正常。但我最初的帖子是导入自定义路径。