我从数据库中获取 studentName 和 studentId 并在数据库中填充名称。现在,如何从下拉列表中选择特定的 studentName 后,将 studentId 从jsp发送到servlet。 这是我的代码:
<Select name="studentDetails" id="std">
<c:forEach items="${stdList}" var="std">
<option value="1"><c:out value="${std.name}"/></option>
</c:forEach>
</select>
答案 0 :(得分:1)
您需要在表单中包含您的下拉列表并将其操作作为您的servlet。
<form method = "POST" action = "servletName">
<Select name="studentDetails" id="std">
<c:forEach items="${stdList}" var="std">
<option value="1"><c:out value="${std.name}"/></option>
</c:forEach>
</select>
<input type = "submit" Value = "submit">
</form>
在您的doPost
servlet方法中,您可以使用
request.getParameter("studentDetails");
请注意,您需要提供<input type = "submit" Value = "submit">
才能提交表单,并且您在此处使用POST
方法。所以它将调用servlet的doPost
方法。 servletName
是在部署描述符web.xml
中映射的servlet的名称,如下所示。
<servlet>
<servlet-name>yourServlet</servlet-name>
<servlet-class>com.example.YourServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>yourServlet</servlet-name>
<url-pattern>/yourServlet</url-pattern>
</servlet-mapping>
答案 1 :(得分:1)
<Select name="studentDetailList" id="std">
<c:forEach items="${stdList}" var="std">
<option value="1"><c:out value="${std.name}"/></option>
</c:forEach>
</select>
如果您编写上述代码并调用request.getParameter(“studentDetailList”);
每次你只获得价值'1'。
因此将选项值设为为
<option value="${std.id}"><c:out value="${std.name}"/></option>
然后在页面中获取值,其中操作为
String value = request.getParameter(“studentDetailList”);
这将为您提供所选内容的相应ID。
答案 2 :(得分:0)
首先放置一个来自并提供目标servlet
<form method = "post" action = "destinationServlet">
<Select name="studentDetails" id="std">
<c:forEach items="${stdList}" var="std">
<option value="1"><c:out value="${std.name}"/></option>
</c:forEach>
</select>
</form>
现在在servlet中,您可以检索参数。 看看这堂课:ServletRequest