我已将按钮的名称设置为<%= j%>,如何通过request.getParameter将此名称传递给servlet ..
<form action="loop">
<table>
<%! List product=new ArrayList(); %>
<%! List company=new ArrayList(); %>
<% product=(ArrayList)session.getAttribute("product");
int j=1;
int i=0;
while(i<product.size())
{ %>
<tr>
<td>
Product:<%=product.get(i)%>
</td>
<td>
<button type="submit" name="<%=j%>" value="<%=j%>"/>
</td>
<% i++; j++;
} %>
</table>
</form>
答案 0 :(得分:-1)
while(paramNames.hasMoreElements()){
String paramName=(String) paramNames.nextElement();
String[] paramValues = request.getParameterValues(paramName);
for(int i=0; i<paramValues.length; i++)
{
out.println("<li>" + paramValues[i] + "</li>");
}
}
答案 1 :(得分:-1)
而不是使用submit
,请使用button
<input type="button" name="<%=j%>" value="<%=j%>" onclick='onButtonClick(this.value);'/>
<!-- outside your loop -->
<input type="hidden" id="buttonValue"/>
并使用以下javascript
function onButtonClick(val){
document.getElementById('buttonValue').value = val;
document.formId.submit();
}
答案 2 :(得分:-1)
你可以用双向方式做到这一点,
2.使用JSTL标记并迭代列表。我给你举了一个例子。
<c:forEach var="product" items="${product}" varStatus="loop">
<li><a onclick="getButtonName(${loop.index})" href="#">Product:${product}</a></li>