嗨,我正在使用 GWT 使用 servlet 发送文件。
最初我试图只向服务器发送文件。那工作得很好。
现在在 af ormPanel 中,我添加了 3 个列表框。
private ListBox propertyNamelist = getListBox("propertyName");
private ListBox propertyTypeList = getListBox("propertyType");
private ListBox propertyValueList = getListBox("propertyValue");
private ListBox getListBox(String name){
listbox = new ListBox();
listbox.setName(name);
return listbox;
}
然后将其添加到 FormPanel。
formPanel.setWidget(propertyNamelist);
formPanel.setWidget(propertyTypeList);
formPanel.setWidget(propertyValueList);
formPanel.submit();
在服务器端。
try {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
stream = item.openStream();
if (item.isFormField()) {
log.warning("Got a form field: " + item.getFieldName());
System.out.println(" chk fg " +item.getFieldName() +" = "+ Streams.asString(item.openStream()));
} else {
log.warning("Got an uploaded file: " + item.getFieldName()
+ ", name = " + item.getName());
fileName = item.getName();
mimetype = item.getContentType();
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
输出 :
WARNING: Got a form field: propertyValue
Jun 11, 2012 11:37:55 AM com.google.apphosting.utils.jetty.JettyLogger warn
WARNING: /UploadFileServlet: org.apache.commons.fileupload.FileItemStream$ItemSkippedException
chk fg propertyValue = motivation
根据我的动机是 listbox 的第一个值PropertyValue
,其中列表框中的值更多。
并且应该显示更多的列表框。
我无法理解这正在发生。
注意:我无法通过 RPC 发送列表框,因为这些列表框与要发送到服务器和服务器到外部存储库的文件相关。
有人请帮忙。