Java 不刷新或转发的GWT表单上载
我想知道是否应该为GWTJava 不刷新或转发的GWT表单上载,java,gwt,Java,Gwt,我想知道是否应该为GWTcom.google.GWT.user.client.ui.FileUpload做些什么 在不刷新或转发的情况下上载到服务器 我已经从这里实现了表单上传,但是它将浏览器页面转发到目标服务器URL 如何在不转发的情况下实现表单上载 更新: final FormPanel form = new FormPanel(); form.setAction("/upload"); form.setEncoding(FormPanel.ENCODING_MULT
com.google.GWT.user.client.ui.FileUpload做些什么
在不刷新或转发的情况下上载到服务器
我已经从这里实现了表单上传,但是它将浏览器页面转发到目标服务器URL
如何在不转发的情况下实现表单上载
更新:
final FormPanel form = new FormPanel();
form.setAction("/upload");
form.setEncoding(FormPanel.ENCODING_MULTIPART);
form.setMethod(FormPanel.METHOD_POST);
VerticalPanel panel = new VerticalPanel();
form.setWidget(panel);
final TextBox tb = new TextBox();
tb.setName("textBoxFormElement");
panel.add(tb);
// Create a FileUpload widget.
FileUpload upload = new FileUpload();
upload.setName("uploadFormElement");
panel.add(upload);
DOM.getElementById("form_panel").appendChild(panel.getElement());
Button submit = new Button("Submit");
panel.add(submit);
DOM.sinkEvents(submit.getElement(), Event.ONCLICK);
DOM.setEventListener(submit.getElement(), new EventListener(){
@Override
public void onBrowserEvent(Event event) {
if (event.getTypeInt() == Event.ONCLICK) {
form.submit();
return;
}
}});
form.addSubmitHandler(new FormPanel.SubmitHandler() {
public void onSubmit(SubmitEvent event) {
if (tb.getText().length() == 0) {
Window.alert("The text box must not be empty");
event.cancel();
}
}
});
form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
public void onSubmitComplete(SubmitCompleteEvent event) {
Window.alert(event.getResults());
}
});
在我看来,你让事情变得比实际更复杂
我不明白为什么,如果您使用的是小部件,那么您会试图手动管理DOM
1.-使用GWT方式将表单面板连接到根面板,否则将破坏小部件层次结构
RootPanel.get("form_panel").add(panel);
2.-尽量不要手动使用接收器事件,并使用小部件中已有的方法:
submit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
form.submit();
}
});
FormPanel
将其目标设置为隐藏的
,因此您永远不会被重定向到其他页面
顺便说一句,我更愿意使用这个库,它简化了GWT中这么多的上传代码,并添加了许多附加功能。我认为,您正在使事情变得比实际情况更复杂
我不明白为什么,如果您使用的是小部件,那么您会试图手动管理DOM
1.-使用GWT方式将表单面板连接到根面板,否则将破坏小部件层次结构
RootPanel.get("form_panel").add(panel);
2.-尽量不要手动使用接收器事件,并使用小部件中已有的方法:
submit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
form.submit();
}
});
FormPanel
将其目标设置为隐藏的
,因此您永远不会被重定向到其他页面
顺便说一句,我更愿意使用这个库,它简化了GWT中这么多的上传代码,并添加了许多附加功能。我认为,您正在使事情变得比实际情况更复杂
我不明白为什么,如果您使用的是小部件,那么您会试图手动管理DOM
1.-使用GWT方式将表单面板连接到根面板,否则将破坏小部件层次结构
RootPanel.get("form_panel").add(panel);
2.-尽量不要手动使用接收器事件,并使用小部件中已有的方法:
submit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
form.submit();
}
});
FormPanel
将其目标设置为隐藏的
,因此您永远不会被重定向到其他页面
顺便说一句,我更愿意使用这个库,它简化了GWT中这么多的上传代码,并添加了许多附加功能。我认为,您正在使事情变得比实际情况更复杂
我不明白为什么,如果您使用的是小部件,那么您会试图手动管理DOM
1.-使用GWT方式将表单面板连接到根面板,否则将破坏小部件层次结构
RootPanel.get("form_panel").add(panel);
2.-尽量不要手动使用接收器事件,并使用小部件中已有的方法:
submit.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
form.submit();
}
});
FormPanel
将其目标设置为隐藏的
,因此您永远不会被重定向到其他页面
顺便说一句,我宁愿使用这个库,它简化了GWT中这么多的上传代码,并添加了许多附加功能。我在GWT上传库之前使用过
你不需要重新发现美国
感谢莫西集团
我在gwt上载库之前使用过
你不需要重新发现美国
感谢莫西集团
我在gwt上载库之前使用过
你不需要重新发现美国
感谢莫西集团
我在gwt上载库之前使用过
你不需要重新发现美国
感谢莫西集团
你能发布一些代码吗?@mit我用代码更新了问题你能发布一些代码吗?@mit我用代码更新了问题你能发布一些代码吗?@mit我用代码更新了问题你能发布一些代码吗?@mit我用代码更新了问题你是说这个代码:DOM.getElementById(“表单面板”).appendChild(panel.getElement());我需要这样做,因为表单面板是由jQuery动态创建的RootPanel.get(“id\u元素”)
也可以用于动态创建的元素您的意思是:DOM.getElementById(“表单面板”).appendChild(panel.getElement());我需要这样做,因为表单面板是由jQuery动态创建的RootPanel.get(“id\u元素”)
也可以用于动态创建的元素您的意思是:DOM.getElementById(“表单面板”).appendChild(panel.getElement());我需要这样做,因为表单面板是由jQuery动态创建的RootPanel.get(“id\u元素”)
也可以用于动态创建的元素您的意思是:DOM.getElementById(“表单面板”).appendChild(panel.getElement());我需要这样做,因为表单面板是由jQuery动态创建的RootPanel.get(“id\u元素”)
也可以处理动态创建的元素