我使用 Apache Commons File Upload API 在Java EE中有一个应用程序。到目前为止一切顺利,但我有一个问题。
我在服务器端进行了某种验证 - 如果有任何问题,我必须将用户发送到上一页并将问题告知用户。此外,我必须将数据加载到表单中,但是当我在JSP中使用request.getParameter("key")
时,它将返回null
。
我已经测试了commons-fileupload
未处理的请求,我看到了结果。
我的问题是如何保留request.getParameter("key")
并在org.apache.commons.fileupload.servlet.ServletFileUpload
处理请求后将其发送回客户端?
<%out.println(request.getParameter("cedula"));%>
返回null
答案 0 :(得分:0)
这是正常的。整个HTTP请求以不同的格式发送,只有Apache Commons FileUpload可以处理。 request.getParameter("name")
不适用于任何参数,也不适用于常规参数。
您应该使用完全相同的Apache Commons FileUpload API从常规输入字段中提取值。你通常应该在代码示例中的item.isFormField()
行返回true
时执行此操作(在返回false
时提取上传的文件,您可能已经实现了该部分)
或者,如果您已经在Servlet 3.0(Tomcat 7,Glassfish 3等)上,那么您也可以在servlet上使用@MultipartConfig
注释,以便您可以通过{获取上传的文件{1}}并继续使用request.getPart("name")
作为常规输入字段。
答案 1 :(得分:0)