如何将来自 vaadin 客户端 class 的消息委托给服务器 class?
How to delegate message from vaadin client class to server class?
我为此委派使用服务器 RPC,但没有触发任何内容。
步骤 1 - 创建服务器 rpc:
public interface UploadServerRpc extends ServerRpc {
public void clicked(String buttonName);
}
步骤 2 - 创建连接器 class:
public class UploadComponentConnector extends UploadConnector {
UploadServerRpc rpc = RpcProxy.create(UploadServerRpc.class, this);
public UploadComponentConnector() {
if(getWidget().isSubClick()) {
rpc.clicked(getWidget().getNotificationName());
}
}
}
步骤 3 - 服务器端 class:
public class UploadComponent extends Upload {
private UploadServerRpc srpc = new UploadServerRpc() {
@Override
public void clicked(String name) {
Notification notification = new Notification(name);
UI.getCurrent().getPage().showNotification(notification);
}
};
public UploadComponent() {
registerRpc(srpc);
}
}
注意:在 VUpload 内部 class 处理一些限制它的工作但不能委托通知消息
没有任何反应....当我点击 vaadin 上传按钮时。
您应该在小部件端定义一个处理程序来处理点击事件。将您的逻辑放在连接器的构造函数中是不正确的。请改用以下代码作为连接器(希望对您有所帮助):
public class UploadComponentConnector extends UploadConnector {
UploadServerRpc rpc = RpcProxy.create(UploadServerRpc.class, this);
public UploadComponentConnector() {
getWidget().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
rpc.clicked(getWidget().getNotificationName());
}
});
}
}
我为此委派使用服务器 RPC,但没有触发任何内容。
步骤 1 - 创建服务器 rpc:
public interface UploadServerRpc extends ServerRpc {
public void clicked(String buttonName);
}
步骤 2 - 创建连接器 class:
public class UploadComponentConnector extends UploadConnector {
UploadServerRpc rpc = RpcProxy.create(UploadServerRpc.class, this);
public UploadComponentConnector() {
if(getWidget().isSubClick()) {
rpc.clicked(getWidget().getNotificationName());
}
}
}
步骤 3 - 服务器端 class:
public class UploadComponent extends Upload {
private UploadServerRpc srpc = new UploadServerRpc() {
@Override
public void clicked(String name) {
Notification notification = new Notification(name);
UI.getCurrent().getPage().showNotification(notification);
}
};
public UploadComponent() {
registerRpc(srpc);
}
}
注意:在 VUpload 内部 class 处理一些限制它的工作但不能委托通知消息
没有任何反应....当我点击 vaadin 上传按钮时。
您应该在小部件端定义一个处理程序来处理点击事件。将您的逻辑放在连接器的构造函数中是不正确的。请改用以下代码作为连接器(希望对您有所帮助):
public class UploadComponentConnector extends UploadConnector {
UploadServerRpc rpc = RpcProxy.create(UploadServerRpc.class, this);
public UploadComponentConnector() {
getWidget().addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
rpc.clicked(getWidget().getNotificationName());
}
});
}
}