Reputation: 895
I am sending a post request from a form to a redirect servlet. The servlet then write a form to its response (getWriter) object. This form contains a number of hidden fields. I use javascript to submit this form (the javascript is written to the response object as well). The target of this form is another servlet.
Now, I'm writing a filter to intercept the hidden parameters I'm sending over to the other servlet (on another server). However when I do: String[] values = req.getParameterValues(name);
I get no values for any of the parameters I put in the string "name". I cannot change the architecture of the code (not mine). I just need to get the parameters sent by the first servlet in my filter, but I keep getting null. Any help is greatly appreciated.
my first servlet code:
PrintWriter out = response.getWriter();
out.println("<html>");
out.println("<head><title>redirectServlet</title></head>");
out.println("<body>");
out.println("<form name=\"go\" method=\"post\" action=\"http://" +
remotehost + "/somerep/someservlet?\">");
out.println("<input type=hidden name=userid value=" + conn + "> ");
out.println("<input type=hidden name=paramform value=no> ");
out.println("<input type=hidden name=nonblocksql value=no> ");
out.println("<input type=hidden name=recursive_load value=no> ");
out.println("<input type=hidden name=job_seq_id value=" + jobId + ">");
out.println("<input type=hidden name=destype value=cache> ");
out.println("<input type=hidden name=desformat value=pdf> ");
out.println("</form> ");
out.println("<script language=\"JavaScript\" type=\"text/javascript\"> ");
out.println("document.getElementById('go').submit();");
out.println("</script>");
out.println("</body>");
out.println("</html>");
Upvotes: 0
Views: 1314
Reputation: 359776
There is no element with ID go
in that generated HTML. Change
out.println("<form name=\"go\" method=\"post\" action=\"http://" +
// to
out.println("<form id=\"go\" method=\"post\" action=\"http://" +
Upvotes: 1