0
我的表單在我的jsp中沒有固定數量的字段。用戶可以根據需要添加行。這是我對形式的代碼:從jsp表單中獲取數據
<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>
和jQuery添加一行:
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);
});
});
心中已經試圖用它來獲取數據:
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");
}
,但它返回null
paramValue
。
任何想法?
getHeader(),顧名思義,返回一個HTTP報頭,而不是一個HTTP參數。使用getParameter()或getParameterValues()。閱讀javadoc。 –