繁体   English   中英

Vaadin 7将数据从客户端发送到服务器

[英]Vaadin 7 send data from client to server

我正在努力理解vaadin 7 clientserver通信的方式。 对于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, ClientRpcServerRpc 在您的示例中,使用ClientRpc ,它用于从服务器到客户端的调用。

要从客户端与服务器进行通信,必须从ServerRpc扩展。

在客户中,您致电

 MyComponentClientRpc rpc = RpcProxy.create(MyComponentClientRpc.class, this)

为了获得代理。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM