Я думал, что ваша идея FormElement будет работать, но, к сожалению, она все еще отправляет ее асинхронно. И то, и другое успешно отправляет запрос и получает ответ, но, увы, страница не меняется.
_tmp.addClickHandler(new ClickHandler()
{
@Override
public void onClick(ClickEvent event_)
{
doPost();
}
public native void doPost() /*-{
var form = document.createElement("form");
form.setAttribute("method", "GET");
form.setAttribute("action", "http://www.google.com");
document.body.appendChild(form);
form.submit();
}-*/;
});
и
public void onClick(ClickEvent event_)
{
final FormPanel form = new FormPanel();
form.setAction("http://www.google.com");
form.setMethod(FormPanel.METHOD_GET);
RootPanel.get("main").add(form);
FormElement formElement = FormElement.as(form.getElement());
formElement.submit();
}
Я понимаю, что я использовал методы GET в моих примерах выше. Это чисто потому, что Google принимает только GET. У меня был тот же результат, когда я пытался использовать POST на своих собственных сервлетах.
Должен быть способ сделать это.