Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
gwt服务器端到客户端_Gwt_Rpc_Messagebox - Fatal编程技术网

gwt服务器端到客户端

gwt服务器端到客户端,gwt,rpc,messagebox,Gwt,Rpc,Messagebox,我的程序可以在客户端使用“fireEvent”,然后使用异步回调 但如果服务器执行了一些错误/错误,如何直接从服务器端调用“MessageBox”之类的客户端函数呢?(显示包含错误消息的消息框) 服务器端: java try { //SFTP coding } catch (JSchException e) { System.err.println("Time out for connecting SFTP server"); //What should i put here to cal

我的程序可以在客户端使用“fireEvent”,然后使用异步回调

但如果服务器执行了一些错误/错误,如何直接从服务器端调用“MessageBox”之类的客户端函数呢?(显示包含错误消息的消息框)

服务器端: java

try {

//SFTP coding

} catch (JSchException e) {
System.err.println("Time out for connecting SFTP server");

//What should i put here to call MessageBoxHandler
//MessageBoxHandler(String a, String b);
//cannot call client side function in server side...
}
客户端:

public class MessageBoxHandler {

public MessageBoxHandler(String a, String b) {

    MessageBox.alert(a, b,
            new Listener<MessageBoxEvent>() {

                @Override
                public void handleEvent(MessageBoxEvent be) {
                    if (be.getButtonClicked().getItemId()
                            .equals(Dialog.OK)) {

                    //may be a action should be here , nvm
                    //i just want to show messageBox only

                    }
                }
            });

}
}
公共类MessageBoxHandler{
public MessageBoxHandler(字符串a、字符串b){
MessageBox.alert(a、b、,
新侦听器(){
@凌驾
public void handleEvent(MessageBoxEvent be){
如果(be.getButtonClicked().getItemId())
.equals(Dialog.OK)){
//可能是一个行动应该在这里,nvm
//我只想显示messageBox
}
}
});
}
}

我不确定我是否理解您在做什么,但我认为这不是一个好方法。您应该做的是使用RPC(因为这显然是您正在使用的),而不是仅仅在服务器端捕获异常并记录错误,您应该在服务器端方法中抛出异常,以便在客户端RPC回调的
onFailure
方法中获取它

你应该在“处理例外”部分下进行检查