我正在尝试使用FormPanel。 o FormPanel
formPanel.setWidget(flexTable);
添加了一个复选框,一个listBox和FileUpload
flexTable.setWidget(4, 1,listBox);
flexTable.setWidget(5, 1, fileUpload);
flexTable.setWidget(6, 1, checkBox);
// More Code
编写Servlet代码以获取仅对fileUpload运行正常的所有值。 如何将checkBox的值设为ListBox。
protected void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
byte[] buffer = new byte[1310720];// 10 MB
try {
ServletFileUpload upload = new ServletFileUpload();
FileItemIterator iterator = upload.getItemIterator(request);
while (iterator.hasNext()) {
FileItemStream item = iterator.next();
InputStream stream = item.openStream();
if (item.isFormField()) {
// WHAT TO DO??
} else {
int len;
while ((len = stream.read(buffer, 0, buffer.length)) != -1) {
response.getOutputStream().write(buffer, 0, len);
}
}
}
} catch (FileUploadException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Plz帮助获取checkBox和List Box的值。
答案 0 :(得分:5)
请参阅此问题的答案:Passing parameters along with a multipart/form-data upload form (Java Http Post Upload),了解如何在服务器端获取值。
要将值发送到服务器,您需要通过ListBox和CheckBox小部件上的setName()
方法在每个小部件上设置名称。名称是item.getFieldName()
返回的名称。
答案 1 :(得分:2)
这里有几件事:
checkbox.getElement().setAttribute("name", "mycheck");
)上添加名称,并在servlet中通过request.getParameter("mycheck")
获取值。答案 2 :(得分:2)
如何处理您的代码。
String name = item.getFieldName();
String value = Streams.asString(item.openStream());
并且不要忘记setName
Formpanel