1

我正在从数据库中获取studentNamestudentId并在数据库中填充名称。现在如何在从下拉列表中选择特定的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> 
4

3 回答 3

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是在部署描述符中映射的 servlet 的名称,web.xml如下所示。

 <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>  
于 2013-06-22T06:46:12.523 回答
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。

于 2013-06-22T10:25:41.630 回答
0

首先放置一个 from 并提供一个目标 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

于 2013-06-22T06:54:16.280 回答