gpt4 book ai didi

java - 通过 JavaScript 与 Vaadin 代码处理事件是否有任何服务器负载平衡优势?

转载 作者:搜寻专家 更新时间:2023-11-01 02:20:07 25 4
gpt4 key购买 nike

假设我想处理一个不执行任何业务逻辑的按钮事件,只是更新 DOM:

Button button = new Button("Click Me");
button.addClickListener(evt -> button.setCaption("Clicked!"));

这会进行一次事件往返并增加服务器的压力。

现在我可以使用 JavaScript(使用 jQuery)实现相同的目的:

Button button = new Button("Click Me");
button.setId("button");

JavaScript.getCurrent().execute(

"$('#button').click(function(){"
+ " $('#button').find('.v-button-caption').text('Clicked!');"
+ "})"
);

这是某种“服务器端”优化吗?
如果没有附加监听器,Vaadin 客户端引擎是否根本不会发送请求?

最佳答案

对于 Button 没有办法解决这个问题(发送“按钮被点击”到服务器)。点击监听器是在服务器端运行时 添加的。因此,即使您不添加任何内容,客户端也会通知服务器(可能同时添加了一个)。

如果您需要这种行为,您可以通过编写自己的小部件来实现(例如 GWT 或 AbstractJavascriptComponent)。

至于那里的 JQuery 代码:一旦应用来自服务器的任何状态更改,此处的文本更改将丢失(最多),或者 - 在最坏的情况下 - 将是客户端和服务器状态之间的差异。我假设,这种代码仅用于向用户发出信号,即“现在正在处理,需要一些时间,所以不要再次点击”

关于java - 通过 JavaScript 与 Vaadin 代码处理事件是否有任何服务器负载平衡优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48068705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com