我有一个包含这段代码的页面:
<form action="Servlet" enctype="multipart/form-data">
<input type="file" name="file">
<input type="text" name="text1">
<input type="text" name="text2">
</form>
当我在Servlet中使用request.getParameter("text1");
时,它显示为null。如何让我的Servlet接收参数?
答案 0 :(得分:6)
所有请求参数都嵌入到多部分数据中。您必须使用Commons File Upload:http://commons.apache.org/fileupload/
之类的东西来提取它们答案 1 :(得分:1)
答案 2 :(得分:1)
Pleepleus是对的,commons-fileupload是一个不错的选择
如果您在servlet 3.0+ environment
工作,您还可以使用其多部分支持轻松完成多部分数据解析作业。只需在servlet类上添加@MultipartConfig
,然后通过调用request getParameter()
即可轻松接收文本数据。
答案 3 :(得分:1)
您需要发送如下参数:
writer.append("--" + boundary).append(CRLF);
writer.append("Content-Disposition: form-data; name=\"" + urlParameterName + "\"" )
.append(CRLF);
writer.append("Content-Type: text/plain; charset=" + charset).append(CRLF);
writer.append(CRLF);
writer.append(urlParameterValue).append(CRLF);
writer.flush();
在servlet端,处理Form元素:
items = upload.parseRequest(request);
Iterator iter = items.iterator();
while (iter.hasNext()) {
item = (FileItem) iter.next();
if (item.isFormField()) {
name = item.getFieldName();
value = item.getString();
}}