Arno
Arno

Reputation: 559

get data from form in jsp

I have a form in my jsp, that does not have fixed amount of fields. User can add row(s) as many as wishes. This is my code of the form:

<form class="metrics_values"  action="refreshMetrics.jsp" method="POST">
   <div id="userId">User test id: <input type="text" name="userId" /> <input class="none" type="submit" value="Submit"></div>

            <div class="rowWrapper">
                <div class="row mName">
                    <input list="metrics" placeholder="Metric Name" name="metric_name" />
                    <datalist id="metrics">
                        <option value="userAgent">
                        <option value="header">
                        <option value="sni">
                        <option value="isversion_1_1">
                        <option value="sslVersion">
                        <option value="contenttype">
                        <option value="days">
                        <option value="server">
                        <option value="expip">
                        <option value="expauth">
                        <option value="expectmatch">
                        <option value="username">
                        <option value="password">
                        <option value="dbname">
                        <option value="redirectionFlag">
                        <option value="noDnsCache">
                        <option value="redirectionFlag">
                    </datalist>
                </div>  
        <div class="row mvalue">
                     <input type="text" placeholder="Metric Value" name="metric_value" />
                </div>
            </div>            
    </form>     
    <a href="#" title="add row" class="add-row">+</a>

And jQuery for adding row:

 jQuery(function(){
      var counter = 1;
      jQuery('a.add-row').click(function(event){
        event.preventDefault();
        counter++;
        var newRow = jQuery('<div class="rowWrapper"><div class="row mName"> <input list="metrics" placeholder="Metric Name" name="metric_name"/> </div><div class="row mvalue"><input type="text" placeholder="Metric Value" name="metric_val"/></div></div>');
        jQuery('form.metrics_values').append(newRow);
      });
     });

I'v tried to get data with this:

     Enumeration<String> paramNames = request.getParameterNames();
            while (paramNames.hasMoreElements()) {
                String paramName = (String) paramNames.nextElement();
                out.print("<tr><td>" + paramName + "</td>\n");
                String paramValue = request.getHeader(paramName);
                out.println("<td> " + paramValue + "</td></tr>\n");
            }

but it returns null for paramValue.

Any ideas?

Upvotes: 0

Views: 94

Answers (1)

qiang.wei.kang
qiang.wei.kang

Reputation: 176

try this :

String[] names = request.getParameterValues("metric_name");
String[] values = request.getParameterValues("metric_value");
for (int i = 0; i < names.length; i++) {
         System.out.print("<tr><td>" + names[i] + "</td>\n");
         System.out.println("<td> " + valuse[i] + "</td></tr>\n");
     }

Upvotes: 1

Related Questions