SE452: Processing Form Elements [10/20] Previous pageContentsNext page

To process the new form elements with multiple available values , you can use the following methods of the ServletRequest


        Enumeration getParameterNames()
        

Returns an Enumeration of the parameter names in this request


        String[] getParameterValues(String name)
        

Returns a String array of values for a given Parameter name. This method is needed if you have parameters with multiple results, like a Select input.

Returns null if the Parameter doesn't exist

Here's an example that can be used to process the earlier form:


        
package se452.forms;           

import java.util.Enumeration;
import javax.servlet.*;
import javax.servlet.http.*;

/** 
 *
 * @author  Matthew Wright
 * @version 1.0
 */
public class SurveyServlet extends HttpServlet {
   

    /** Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods.
    * @param request servlet request
    * @param response servlet response
    */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, java.io.IOException {
        response.setContentType("text/html");
        java.io.PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head>");
        out.println("<title>Survey Servlet</title>");  
        out.println("</head>");
        out.println("<body>");
        out.println("<table>");
        /* get the parameters and list them, with their values */
        Enumeration parameters = request.getParameterNames();
        if(parameters.hasMoreElements()) {
            out.println("<tr><th>Parameter Name</th><th>Parameter Value</th></tr>");
        }
        while(parameters.hasMoreElements()) {
            String parameter = (String)parameters.nextElement();
            // get the parameter values
            String[] values = request.getParameterValues(parameter);
            if(values != null) {
                for(int i = 0; i < values.length; i++) {
                    out.println("<tr><td><b><font color=\"blue\">" + parameter + "</font></b></td>" +
                            "<td>" + values[i] + "</td></tr>");
                }
            }
        }
        out.println("</table>");
        out.println("</body>");
        out.println("</html>");
        out.close();
    } 

    /** Handles the HTTP <code>GET</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, java.io.IOException {
        processRequest(request, response);
    } 

    /** Handles the HTTP <code>POST</code> method.
    * @param request servlet request
    * @param response servlet response
    */
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, java.io.IOException {
        processRequest(request, response);
    }

}
        
        
        

Previous pageContentsNext page