此代码适用于chrome。但是在firefox中,它不会调用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();
xml文件位于下方。
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>`
答案 0 :(得分:3)
为了使表单正常工作,您需要将其添加到DOM中。
这可以通过调用:
来完成RootPanel.get().add(formPanel);
或者您可以使用已经附加的任何面板