getting null on request.getParameter() on submit of form in java code?

Maddy.Shik picture Maddy.Shik · Oct 25, 2009 · Viewed 7.5k times · Source
     IN JAVA CODE IN JSP as below i m getting null value for field"noOfRecords".
      if (request.getMethod().equalsIgnoreCase("POST")) {
    try
    {
        noOfRecords=Integer.parseInt(request.getParameter("noOfRecords").trim());
    }
    catch(NumberFormatException e)
    {
        throw new Exception("No of records Field should be numeric.");

    }
    catch(NullPointerException e)
    {
        throw new Exception("No of records should be specified.");

    }

HTML CODE IS AS BELOW.

     <BODY leftmargin="0" topmargin="0" marginheight="0" marginwidth="0"   bgcolor="#ffffff"    onLoad="document.customerFileUpload.filePath.focus();">
          <FORM method="post" name="customerFileUpload" action="CustomerFileUpload.jsp" onSubmit="return validate(this);" enctype="multipart/form-data">
     <table width="98%" border="0" cellpadding="2" cellspacing="1" align="center">
            <tr>
                <td width="30%" class="bandcolorlabel">Select File *:</td>
                <td width="70%"><input type="FILE" name="filePath" class="ibox" size="30"></td>
            </tr>
            <tr>
            <td width="30%" class="bandcolorlabel">No Of Records</td>
            <td width="70%"><input type="text" name="noOfRecords" class="ibox" size="30"></td>
            </tr>

        </table>

     <table width="100%" border="0" cellpadding="2" cellspacing="1">
            <tr>
                <td><input type="submit" class="btn" value="Upload" >
                </td>
            </tr>
        </table>
          </form>
     </BODY>

Answer

p3t0r picture p3t0r · Oct 25, 2009

Since you post using multipart encoding ('multipart/form-data') the parameters are not present as you expect.

If for instance you are using commons-fileupload the parameters would be present as and are identifiable using the 'isFormField' method on the FileItem object.

This thead on coderanch explains how: coderanch

Most (every) modern webframeworks abstract this away and make this sort of stuff much easier by the way.