[英]Vaadin 7 send data from client to server
我正在努力理解vaadin 7
client
和server
通信的方式。 对于server->client
通信,我已经很了解,但是我仍然无法理解它是如何工作的,即从客户端到服务器。 我已经读过,在客户端,不应更改State
,而应通过rpc
发送相关数据。 在客户端,有一个MyComponentClientRpc
接口,其中包含一些方法,开发人员应在Connector
类中实现它们。 然后,可以将该接口实例化为服务器上的匿名类,并可以调用该方法。 但是,如果在客户端上有一个字符串“ myString”,那么如何将其传输到服务器,因为一个人只能在服务器上调用方法,并在调用时传递参数? 那么如何才能获得客户端上的数据呢?
public interface MyComponentClientRpc extends ClientRpc {
public void getString(String s);
}
public class MyComponentConnector extends AbstractComponentConnector {
@SuppressWarnings("serial")
MyComponentClientRpc mcRpc = new MyComponentClientRpc() {
public void getString(String s) {
// TODO Do something useful
????
}
};
public MyComponentConnector() {
registerRpc(MyComponentClientRpc.class, mcRpc);
String a = "myString";
....
}
特别是,如何在客户端上实现该方法,如何在其中插入数据以及如何在服务器上调用该方法?
但是,如果在客户端上有一个字符串“ myString”,那么如何将其传输到服务器,因为一个人只能在服务器上调用方法,并在调用时传递参数? 那么如何才能获得客户端上的数据呢?
您使用了错误的机制。 实际上有两个RPC, ClientRpc
和ServerRpc
。 在您的示例中,使用ClientRpc
,它用于从服务器到客户端的调用。
要从客户端与服务器进行通信,必须从ServerRpc
扩展。
在客户中,您致电
MyComponentClientRpc rpc = RpcProxy.create(MyComponentClientRpc.class, this)
为了获得代理。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.