繁体   English   中英

如何从jsp中的单选按钮获取值并将其传递给Java servlet

[英]How get values from radio button in jsp and pass them to java servlet

我在将值从jsp传递到Java servlet时遇到问题。 我班的学生有以下字段:id,firstName,lastName,precenseStatus。 字段precenseStatus为空,并且要在jsp中为其设置“ Obecny”,“ Nieobecny”或“Spóźniony”字符串值。 我将jsp列表传递给Student对象(学生)。

jsp:

<form action="updatePrecensesServlet" method="post">
        <table class="table table-striped">
            <thead>
                <tr>
                    <th>Imię</th>
                    <th>Nazwisko</th>
                    <th>Obecność</th>
                </tr>
            </thead>
            <tbody>
                <c:forEach var="student" items="${students}">
                    <tr>
                        <td><c:out value="${student.firstName}"  /></td>
                        <td><c:out value="${student.lastName}" /></td>
                        <td>
                            <form role="form">
                                <c:if test="${student.precenseStatus == 'Obecny'}">
                                    <label class="radio-inline">
                                        <input checked type="radio" name="${student.precenseStatus}" value="Obecny"/>Obecny
                                    </label>
                                    <label class="radio-inline">
                                        <input type="radio" name="${student.precenseStatus}" value="Nieobecny"/>Nieobecny
                                    </label>
                                    <label class="radio-inline">
                                        <input type="radio" name="${student.precenseStatus}" value="Spóźniony"/>Spóźniony
                                    </label>
                                </c:if>
                                <c:if test="${student.precenseStatus == 'Nieobecny'}">
                                    <label class="radio-inline">
                                        <input type="radio" name="${student.precenseStatus}" value="Obecny"/>Obecny
                                    </label>
                                    <label class="radio-inline">
                                        <input checked type="radio" name="${student.precenseStatus}" value="Nieobecny"/>Nieobecny
                                    </label>
                                    <label class="radio-inline">
                                        <input type="radio" name="${student.precenseStatus}" value="Spóźniony"/>Spóźniony
                                    </label>
                                </c:if>
                                <c:if test="${student.precenseStatus == 'Spó?niony'}">
                                    <label class="radio-inline">
                                        <input type="radio" name="${student.precenseStatus}" value="Obecny"/>Obecny
                                    </label>
                                    <label class="radio-inline">
                                        <input type="radio" name="${student.precenseStatus}" value="Nieobecny"/>Nieobecny
                                    </label>
                                    <label class="radio-inline">
                                        <input checked type="radio" name="${student.precenseStatus}" value="Spóźniony"/>Spóźniony
                                    </label>
                                </c:if>
                                <c:if test="${student.precenseStatus != 'Obecny' &&
                                              student.precenseStatus != 'Nieobecny' && 
                                              student.precenseStatus != 'Spó?niony'}">
                                      <label class="radio-inline">
                                          <input type="radio" name="${student.precenseStatus}" value="Obecny"/>Obecny
                                      </label>
                                      <label class="radio-inline">
                                          <input type="radio" name="${student.precenseStatus}" value="Nieobecny"/>Nieobecny
                                      </label>
                                      <label class="radio-inline">
                                          <input type="radio" name="${student.precenseStatus}" value="Spóźniony"/>Spóźniony
                                      </label>
                                </c:if>
                            </form>
                        </td>
                    </tr>
                </c:forEach>
            </tbody>
        </table>
        <button name="students" value="${student}" scope="request" type="submit" class="btn btn-success">Zatwierdź</button>
    </form>

updatePrecensesServlet doPost():

System.out.println(request.getParameterValues("students").toString());

要么

System.out.println(request.getParameter("students").toString());

不起作用:/

Student{ID=2, firstName=YYY, lastName=XXX, precenseStatus=null}

我通过关注列表:

Student{ID=2, firstName=YYY, lastName=XXX, precenseStatus=null}
Student{ID=3, firstName=AAA, lastName=FFF, precenseStatus=null}
Student{ID=4, firstName=BBB, lastName=DDD, precenseStatus=null}
Student{ID=5, firstName=CCC, lastName=WWW, precenseStatus=null}

我希望我已经设置了precenseStatus字段的学生列表。 例如:

Student{ID=2, firstName=YYY, lastName=XXX, precenseStatus=Obecny}
Student{ID=3, firstName=AAA, lastName=FFF, precenseStatus=Nieobecny}
Student{ID=4, firstName=BBB, lastName=DDD, precenseStatus=Obecny}
Student{ID=5, firstName=CCC, lastName=WWW, precenseStatus=Spóźniony}

但是现在仍然是:

Student{ID=2, firstName=YYY, lastName=XXX, precenseStatus=null}
Student{ID=3, firstName=AAA, lastName=FFF, precenseStatus=null}
Student{ID=4, firstName=BBB, lastName=DDD, precenseStatus=null}
Student{ID=5, firstName=CCC, lastName=WWW, precenseStatus=null}

我已经选择了jsp中的所有单选按钮。 我没有将那些单选按钮留空。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM