从vaadin中的java类调用javascript函数

时间:2016-07-22 14:22:01

标签: javascript java vaadin vaadin7

我试图从vaadin项目中的java类调用javascript函数。在过去我曾使用过RPC调用,但这次它只是一个我需要调用的js函数,我想我可以用{{1}这样的函数来做}} 所以我有一个vaadin项目,这里是我希望从中调用该函数的类:

JavaScript.getCurrent().execute("test()");

该脚本位于一个自定义文件夹中,但我不确定我可以调用该js函数,因为我似乎一直在收到错误。有什么想法吗?

1 个答案:

答案 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文件时,您会在控制台中收到警告。