Database 使用URL将值从JSP传递到SERVLET
我的目标是将值从jsp传递到servlet。我设法传递了reservationId和tableId的值,但没有传递staffId 错误是: java.lang.NumberFormatException:对于输入字符串:staffId 为什么会这样?是因为staffId是从下拉列表中检索的吗 谢谢你的帮助Database 使用URL将值从JSP传递到SERVLET,database,jsp,url,servlets,html-table,Database,Jsp,Url,Servlets,Html Table,我的目标是将值从jsp传递到servlet。我设法传递了reservationId和tableId的值,但没有传递staffId 错误是: java.lang.NumberFormatException:对于输入字符串:staffId 为什么会这样?是因为staffId是从下拉列表中检索的吗 谢谢你的帮助 <c:forEach items="${table}" var="table"> <tr> <td>${table.reservationId}</t
<c:forEach items="${table}" var="table">
<tr>
<td>${table.reservationId}</td>
td><select name="staffId">
<c:forEach var="staff" items="${staff}">
<option value="${staff.staffId}">${staff.staffName}</option>
</c:forEach>
</select>
</td>
<td>
<a href="TableEditServlet?action=assign&reservationId=<c:out value="${table.reservationId}"/>&tableId=<%= request.getParameter("tableId") %>&staffId=<c:out value="${staff.staffId}"/>">
<input value="Assign" class="btn"></a></td> </tr>
</c:forEach>
您应该使用JavaScript或JQuery从中获取所选行的数据
使用javascript更新
... add this javascript section before <body>
<script>
function assign(reservationId) {
document.location="TableEditServlet?action=assign&reservationId="+reservationId+"&staffId="+document.getElementById("staffId_"+reservationId).value;
// add tableId if you need as well
}
</script>
...
<c:forEach items="${table}" var="table">
<tr>
<td>${table.reservationId}</td>
<td>
<select name="staffId" id="staffId_${table.reservationId}">
<c:forEach var="staff" items="${staff}">
<option value="${staff.staffId}">${staff.staffName}</option>
</c:forEach>
</select>
</td>
<td>
<input value="Assign" class="btn" onclick="assign('<c:out value="${table.reservationId}"/>')">
</td>
</tr>
</c:forEach>
除了这两种方法,还有其他方法吗?您想从用户选择的组合框中提交staffId-它是客户端,您不能使用JSTL,因为它是服务器端编程。但是,staffId是从数据库中获取的。这就是为什么我使用c:out在jspy中显示您有一个staff列表,但试图以某种方式获得一个值staff.staffId。staff.staffId已经超出你的范围了,谢谢。但是代码是这样的吗?无法做到这一点:input onclick=document.location='TableEditServlet?action=assign&reservationId=&tableId=&staffId=+$staff.val;'