添加javascript/Jquery&;Vaadin 7中的客户端代码
我有3个问题:添加javascript/Jquery&;Vaadin 7中的客户端代码,java,javascript,jquery,integration,vaadin,Java,Javascript,Jquery,Integration,Vaadin,我有3个问题: Vaadin中的每个操作都会调用服务器。有没有办法避免每次操作都调用服务器?比如在客户端有一个用于多次使用的特定操作的代码?就像CSValidation插件一样 我想知道如何在vaadin7中添加Javascript/JQuery。在瓦丁6号似乎很容易。但是,我不能让它在瓦丁7号工作。我希望他们现在能让事情变得容易些。有人能给我举一些例子吗。如果是JQuery,它将对我帮助很大 也会 Javascript.getCurrent().execute(“”) 在代码中“执行javas
在代码中“执行javascript”或“添加指定脚本”。这能帮我解决第二个问题吗?我不是Vaadin框架的专家 我可以告诉你,你的第三个问题是运行JavaScript命令 您还可以通过该命令运行jQuery命令 但为此,您必须在页面中包含jQuery 对于问题1:我可以说这是可能的,因为Vaadin具有覆盖函数的功能
JavaScript.getCurrent().addFunction("com.example.foo.myfunc",
new JavaScriptFunction() {
@Override
public void call(JSONArray arguments) throws JSONException {
Notification.show("Received call");
}
});
Link link = new Link("Send Message", new ExternalResource(
"javascript:com.example.foo.myfunc()"));
现在,在缺少支持代码的情况下,您必须确定在每个操作中调用服务器的实际插件函数。
确保您是否重写了该函数。。您将在某个时候需要该功能。。因此,不要覆盖实际需要的函数
问题2
是,jQuery可用于vaadin,请参阅
它说您可以像这样直接调用jQuery$wnd.jQuery
我希望这将有助于
1) Vaadin中的每个操作都会调用服务器。有没有办法避免每次操作都调用服务器?比如在客户端有一个用于多次使用的特定操作的代码?就像CSValidation插件一样
这取决于客户端代码。Vaadin使用服务器端编程模型构建,但是如果需要限制服务器调用的数量,则需要自己进行。与Vaadin 6一样,Vaadin 7使包含第三方库变得相对容易
2) 我想知道如何在vaadin7中添加Javascript/JQuery。这似乎很容易
在瓦丁6号。但是,我不能让它在瓦丁7号工作。我希望他们
现在就容易多了。谁能给我举几个例子吗
对此,。如果是JQuery,它将对我帮助很大
这里有一个关于如何将jQuery与Vaadin 7集成的很好的教程:
它主要是创建一个JavascriptExtension类,这是解决方案的主要部分:
@JavaScript({ "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.js" })
public class JavascriptJQueryExtension extends AbstractJavaScriptExtension {
... // Please see the link above for an example of implementation
}
路径可以是URL,也可以是jQuery库的内部路径
3) 在代码中“执行javascript”或“添加指定脚本”
将执行以下代码片段,如Vaadin 7()一书中所述
JavaScript在当前正在执行的服务器请求之后执行
已处理的退货。(……)
我建议你好好看看瓦丁的书。它包含许多重要信息,通常有助于解决使用Vaadin时出现的大多数问题。请有人回答此问题。.任何小提琴或代码都有助于回答。。如果可能,请提供..谢谢你Jonas。。我会核对你的答案。@Gugan我同意。但是你可以把这本书作为第一站。在那之后,这个系统实际上非常活跃。
// Shorthand
JavaScript.getCurrent().execute("alert('Hello')");