我试图从vaadin项目中的java类调用javascript函数。在过去我曾使用过RPC调用,但这次它只是一个我需要调用的js函数,我想我可以用{{1}这样的函数来做}} 所以我有一个vaadin项目,这里是我希望从中调用该函数的类:
JavaScript.getCurrent().execute("test()");
该脚本位于一个自定义文件夹中,但我不确定我可以调用该js函数,因为我似乎一直在收到错误。有什么想法吗?
答案 0 :(得分:2)
如果方法JavaScript.getCurrent().execute("test()");
被正确宣布(显然不是这种情况),那么您的电话test()
是正确的。
假设script.js
来源包含test()
功能的声明,您可能会将script.js
放在错误的位置。
使用vaadin://
前缀,您的文件应该相对于src/main/webapps/VAADIN
目录,因此在您的情况下src/main/webapps/VAADIN/js/script.js
如果省略vaadin://
前缀(即@JavaScript("script.js")
),并且您正在使用Maven,那么文件的正确位置为src/main/resources/
,然后是其中的包结构你的java源码是。所以在你的情况下src/main/resources/my/vaadin/project/vaadinUploader/script.js
另请注意,在访问无法找到的@Javascript
文件时,您会在控制台中收到警告。