gpt4 book ai didi

java - GWT 表单面板不调用 onSubmitComplete

转载 作者:搜寻专家 更新时间:2023-11-01 02:13:14 25 4
gpt4 key购买 nike

GWT:我可以在浏览器中调用 servlet。当我通过 formpanel 调用它时,它可以调用 onSubmit。但它不会调用 onSubmitComplete。它还会弹出一个新窗口,uri 是我的 servlet。

String URL= GWT.getModuleBaseURL()+"getType";
FormPanel formPanel = new FormPanel();
formPanel.setAction(URL);
formPanel.setEncoding(FormPanel.ENCODING_URLENCODED);
formPanel.setMethod(FormPanel.METHOD_GET);

formPanel.addSubmitHandler(new SubmitHandler(){

@Override
public void onSubmit(SubmitEvent event) {
// TODO Auto-generated method stub
System.out.println(event.getSource());
}

});
formPanel.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
System.out.println("in");
System.out.println(event.getResults());
}
});
formPanel.submit();

GWT.xml
<servlet class="msp2.server.getType" path="/getType" />


web.xml
<servlet >
<servlet-name>getType</servlet-name>
<servlet-class>msp2.server.getType</servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>getType</servlet-name>
<url-pattern>/msp2_app/getType</url-pattern>
</servlet-mapping>

最佳答案

我知道这是一个老问题,但我遇到了同样的问题,这些答案都不是解决方案。调用 FormPanel.submit() 后,响应将在新选项卡中打开,并且不会调用 onSubmitComplete()

最终的解决方案是我的 FormPanel 没有添加到调用 submit() 的对话框中。由于表单完全由 Hidden 字段组成,其值是根据页面上按下的按钮设置的,因此我的 FormPanel 实际上不包含任何表单小部件与用户可选值,所以我不需要将它添加到窗口的任何地方。

这就是导致响应在新窗口中打开并且 onSubmitComplete() 未被调用的原因。我将它添加到我的 DialogBox 面板中,然后它就可以正常工作了。

关于java - GWT 表单面板不调用 onSubmitComplete,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com