gwt服务器端到客户端
我的程序可以在客户端使用“fireEvent”,然后使用异步回调 但如果服务器执行了一些错误/错误,如何直接从服务器端调用“MessageBox”之类的客户端函数呢?(显示包含错误消息的消息框) 服务器端: javagwt服务器端到客户端,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
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
方法中获取它
你应该在“处理例外”部分下进行检查