GWT FormPanel未重定向到操作URL

GWT FormPanel未重定向到操作URL,gwt,formpanel,Gwt,Formpanel,我有一个使用RequestFactory和UIBinder的应用程序。该应用程序通过RequestFactory处理多个订单处理方法,然后最终将这些请求的结果发送到跟踪订单完成情况的页面。下面的代码包装在外部订单处理的onSuccess()事件中。我只是在重要的情况下提一下 这是一个非常简单的模板。但是,submit()不会重定向到由action属性设置的URL。当我在浏览器的开发工具中查看时,我可以看到请求已成功发送到正确的URL,但浏览器不会重定向到该页面或显示提交的响应。我做错了什么

我有一个使用RequestFactory和UIBinder的应用程序。该应用程序通过RequestFactory处理多个订单处理方法,然后最终将这些请求的结果发送到跟踪订单完成情况的页面。下面的代码包装在外部订单处理的onSuccess()事件中。我只是在重要的情况下提一下

这是一个非常简单的模板。但是,submit()不会重定向到由action属性设置的URL。当我在浏览器的开发工具中查看时,我可以看到请求已成功发送到正确的URL,但浏览器不会重定向到该页面或显示提交的响应。我做错了什么

                FormPanel form = new FormPanel();
                form.setMethod(FormPanel.METHOD_POST);
                form.setEncoding(FormPanel.ENCODING_URLENCODED);
                form.setAction(System.getProperty(ORDER_COMPLETE_URL));
                form.setHeight("1px");
                form.setWidth("1px");
                form.addStyleName(AppController.HIDDEN_CLASS);

                Hidden transactionId = new Hidden();
                transactionId.getElement().setAttribute("name", "transactionId");
                transactionId.setValue(order.getOrder().getQuoteNumber());

                Hidden transactionTotal = new Hidden();
                transactionTotal.getElement().setAttribute("name", "transactionTotal");
                transactionTotal.setValue(order.getTotalAmount().toString());

                Hidden printURL = new Hidden();
                printURL.getElement().setAttribute("name", "printURL");
                printURL.setValue(order.getPrintURL());

                FlowPanel formStuffer = new FlowPanel();
                formStuffer.add(transactionId);
                formStuffer.add(transactionTotal);
                formStuffer.add(printURL);

                form.add(formStuffer);
                RootPanel.get().add(form);
                form.submit();

多亏了一个好主意,我终于想出了如何实现这一点

关键是在创建期间为表单添加目标

FormPanel form = new FormPanel(String target);

除非您已经命名了现有窗口,否则您将希望将目标设置为“\u self”或“\u top”,然后使用该名称。

多亏了一个新的名称,我终于找到了实现该目标的方法

关键是在创建期间为表单添加目标

FormPanel form = new FormPanel(String target);
除非已命名现有窗口,否则您将希望将目标设置为“\u self”或“\u top”,然后使用该名称。

您使用的是:
FormPanel form=new FormPanel()

在文档中,您可以找到以下信息:

公众谘询委员会(

创建一个新的FormPanel。使用此构造函数创建时,它将被提交到隐藏元素,提交结果可通过FormPanel.SubmitCompleteHandler获得

检查其他构造函数并找到最适合您需求的构造函数。

您正在使用:
FormPanel form=new FormPanel()

在文档中,您可以找到以下信息:

公众谘询委员会(

创建一个新的FormPanel。使用此构造函数创建时,它将被提交到隐藏元素,提交结果可通过FormPanel.SubmitCompleteHandler获得


检查其他构造器,找到最适合您要求的构造器。

Heh,当您发布您的答案时,我刚刚完成我的答案;)嘿,我刚写完我的答案,你就发了你的;)