簡體   English   中英

GWT FormPanel不會重定向到操作URL

[英]GWT FormPanel does not redirect to action URL

我有一個使用RequestFactory和UIBinder的應用程序。 在最終將那些請求的結果發送到跟蹤已完成訂單的頁面之前,該應用程序通過RequestFactory處理幾種訂單處理方法。 以下代碼包裝在外部訂單處理的onSuccess()事件中。 我只是提到,以防萬一。

這是一個非常簡單的FormPanel。 但是,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);

除非已將現有窗口命名為目標,否則您將希望將目標設置為“ _self”或“ _top”。

您正在使用默認構造函數FormPanel form = new FormPanel();

在文檔中,您將找到以下信息:

公共FormPanel()

創建一個新的FormPanel。 使用此構造函數創建時,它將被提交到隱藏的<iframe>元素,並且可以通過FormPanel.SubmitCompleteHandler獲得提交的結果。

檢查其他構造函數,找到最適合您需求的構造函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM