Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.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

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
Database GWT和notifyAll()(java.lang.Object)_Database_Gwt_Synchronization_Gxt_Formpanel - Fatal编程技术网

Database GWT和notifyAll()(java.lang.Object)

Database GWT和notifyAll()(java.lang.Object),database,gwt,synchronization,gxt,formpanel,Database,Gwt,Synchronization,Gxt,Formpanel,我正在给数据库打电话。结果必须用于子IT表单。所以我想等到DB的结果出来。为此,我需要一个同步。我的想法是使用java.lang中的Object.notifyAll(),但GWT不支持这一点。GWT中是否有任何等效的notifyAll()方法 edit1:我正在使用gxt FormPanel提交数据。我可以更改buttonBar的类型,但我认为addSubmitCompleteHandler不能解决我的问题 下面是一些代码片段: final Button submit = new Button(

我正在给数据库打电话。结果必须用于子IT表单。所以我想等到DB的结果出来。为此,我需要一个同步。我的想法是使用java.lang中的Object.notifyAll(),但GWT不支持这一点。GWT中是否有任何等效的notifyAll()方法

edit1:我正在使用gxt FormPanel提交数据。我可以更改buttonBar的类型,但我认为addSubmitCompleteHandler不能解决我的问题

下面是一些代码片段:

final Button submit = new Button("Submit");
submit.addListener(Events.OnClick, new Listener<ButtonEvent>() {
    @Override
    public void handleEvent(ButtonEvent be) {
        // 1. Get the data from Database (here i must wait for the response from DB)
        // 2. Submit the form               
    }
);

final FormPanel buttonBar = new FormPanel();
buttonBar.addStyleName("abUploadField");
buttonBar.setHeaderVisible(false);
buttonBar.setBorders(false);
buttonBar.setStyleAttribute("margin", "0px");
buttonBar.setEncoding(FormPanel.Encoding.MULTIPART);
buttonBar.setMethod(FormPanel.Method.POST);
buttonBar.add(file);
buttonBar.add(submit);
buttonBar.setAction("myURL");
final Button submit=新按钮(“提交”);
submit.addListener(Events.OnClick,new Listener()){
@凌驾
公共无效handleEvent(按钮不可用){
//1.从数据库获取数据(这里我必须等待DB的响应)
//2.提交表格
}
);
最终FormPanel按钮栏=新FormPanel();
buttonBar.addStyleName(“abUploadField”);
按钮栏。设置头可服务(假);
按钮栏。订单(假);
按钮栏。设置样式属性(“边距”、“0px”);
buttonBar.setEncoding(FormPanel.Encoding.MULTIPART);
按钮栏设置方法(FormPanel.Method.POST);
添加(文件);
按钮栏。添加(提交);
按钮栏设置动作(“myURL”);

edit2:我想从数据库中获取序列ID(这是事件处理程序中的第一步)。该ID将用于提交。提交时,我用数据填充数据库中的一些选项卡。该ID将用于标识是哪个用户启动了提交,对于该用户,我希望显示带有消息“提交成功”的对话框.我希望你能理解我的意思:)(对不起,我的英语不好)

就像你说的,GWT
Object.notifyAll()
。但是,如果您使用提交值,您可以在结果返回时立即收到通知。如果您使用-提供一个在收到请求响应时将被触发的事件。问题的解决方案是添加一个提交侦听器(Events.submit),它与gwt表单面板的addSubmitCompleteHandler相同。

我使用的是GXT FormPanel。我不确定addSubmitCompleteHandler是否正是我所需要的。我将在我的帖子中对其进行更好的解释。啊,如果是GXT,那么我帮不上忙:)但让我说清楚-您正在向服务器提交一些数据,在您提交之前,我将t、 您想先从数据库(我想是在同一台服务器上)获取一些数据,然后提交?为什么不提交数据,并从服务器端的数据库获取数据?对!提交之前,我需要从数据库(同一台服务器)获取一些数据我从数据库获取的数据也将提交。我无法在服务器端提交,因为我需要在前端显示消息(针对用户)。但“BeforSubit”也有错误:(我想,我有另一个想法,如果可行,我会在这里发布解决方案。你能用你的问题的详细描述更新你的问题吗?要么这里真的出了问题,要么我们没有完整的情况。你显示的是什么信息,需要实际数据还是DB的某种确认?如果你没有“不要修改从数据库中获取的数据,为什么要再次将其发送回去(这会增加被客户端篡改的风险),等等。”。