如何从jsp中的下拉填充学生姓名发送id?

时间:2013-06-22 06:39:31

标签: jsp servlets

我从数据库中获取 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> 

3 个答案:

答案 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