如何使用ServletMultipartRequest获取请求参数

时间:2015-03-05 11:56:04

标签: java html jsp

长话短说 - 我有fileUploader.jsp,当点击提交按钮时会自行调整,然后进行一些文件处理。

我的问题是我在尝试访问某些请求参数时遇到NULL,这里是代码:

<html>
    <body>
        <form enctype="multipart/form-data" name=uploadSapFile  action="fileUploader.jsp" method="POST">     
           <table>               
              <tr><td>Select file to process:</td></tr>
              <tr>
                   <td>File:</td>
                   <td><input type="file" name="fileName" size=50></td></tr>      
              <tr>
                <td><input type="submit" name="action" value="Process"><input type="hidden" name="action" value="PROCESS"></td>
              </tr>
           </table> 
        </form>

        <%
        String action = null;
        String referrer = request.getHeader("referer");
        File file = null;

        try {

            if (referrer.indexOf("fileUploader.jsp") != -1)  { 

                MultipartRequest parser = new ServletMultipartRequest(request, "fileLocation", 10000000);
                action = parser.getURLParameter("action"); // THIS PARAMETER IS NULL
                file = parser.getFile("fileName");

                // Some file processing ... (not relevant to the problem) 

        finally {

            if (file != null) {
                file.delete();          
            } 
        }%>
   </body>
</html>

P.S。然而,我正在获取文件并且能够处理没有问题,它只是来自我正在努力的其他参数。

任何建议将不胜感激。

更新:将参数值作为隐藏字段发送并且工作,编辑代码

1 个答案:

答案 0 :(得分:0)

你可以把hide参数放在你的表单中,并在java代码中将它作为POST参数。据我所知,这是上传文件和传递参数的唯一解决方案。