2015-02-08 101 views
0
<form action="PetTransactionAction" method="post"> 
     <table> 
     <tr> 
     <th>#</th> 
     <th>Pet Name</th> 
     <th>Quantity Available</th> 
     <th>Place</th> 
     <th>Age</th> 
     <th>Pet Type</th> 
     </tr> 
     <c:forEach items="${petsearch}" var="nm"> 
     <tr> 
     <td>${nm.id}</td> 
     <td>${nm.pet_name}</td> 
     <td>${nm.avl_qty}</td> 
     <td>${nm.place}</td> 
     <td>${nm.pet_age}</td> 
     <td>${nm.pet_type}</td> 
     <td><input type="hidden" name="hidden" value="${nm.id}"></td> 
     <td><input type="submit" name="submit" value="Buy"></td> 
     </tr> 
     </c:forEach> 
     </table> 
     </form> 

如何在提交表单后从servlet中的隐藏字段获取特定值。我正在使用request.getParameter(“hidden”);在servlet中,但它只给出第一条记录的id,我如何获得第三或第四或其他记录的值?如何将值传递给以下代码段中的servlet?

回答

0

使用String[] values=request.getParameterValues("hidden");这将返回一个名为“隐藏”的所有参数的数组。

既然你需要你点击该行的隐藏PARAM你应该有多种形式

<table> 
    <tr> 
    <th>#</th> 
    <th>Pet Name</th> 
    <th>Quantity Available</th> 
    <th>Place</th> 
    <th>Age</th> 
    <th>Pet Type</th> 
    </tr> 
    <c:forEach items="${petsearch}" var="nm"> 
    <tr> 
    <td>${nm.id}</td> 
    <td>${nm.pet_name}</td> 
    <td>${nm.avl_qty}</td> 
    <td>${nm.place}</td> 
    <td>${nm.pet_age}</td> 
    <td>${nm.pet_type}</td> 

    <td colspan='2'> 
     <form action="PetTransactionAction" method="post"> 
     <input type="hidden" name="hidden" value="${nm.id}"> 
     <input type="submit" name="submit" value="Buy"> 
     </form> 
    </td> 
    </tr> 
    </c:forEach> 
    </table> 
+0

如何获取与该按钮相对应的id值我点击了? – user3270997 2015-02-08 12:18:54

+0

这是不可能的,因为只有一种形式可能你可以有多种形式,请参阅编辑 – Subin 2015-02-08 12:27:37

+0

请建议任何解决方案,因为我必须得到相应的按钮,我点击的ID? – user3270997 2015-02-08 12:30:29

0

在servlet,你可以做使用上的要求类似getParameter API:

String id = httpServletRequest.getParameter("hidden");//hidden is the name of your hidden field i.e. name="hidden" 

此方法将返回请求参数的值作为字符串,如果参数不存在,则返回null