【问题标题】:How get values from radio button in jsp and pass them to java servlet如何从jsp中的单选按钮获取值并将它们传递给java servlet
【发布时间】:2015-12-31 14:56:50
【问题描述】:

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

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}

【问题讨论】:

  • 那些单选按钮的名称不是students。这些单选按钮的名称为${student.precenseStatus}。为什么?你到底在期待什么?

标签: java jsp servlets


【解决方案1】:

我通过了关注列表:

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 中的所有单选按钮。我不会将这些单选按钮留空。

【讨论】:

  • 你从哪里填充 ${students} ?
  • 据我所知,您无法在学生列表中填充 {Student}
  • 我在 servlet 中填充学生(学生)列表,然后将此列表传递给 jsp。我想在 jsp 页面上对此进行补充,并在另一个 servlet 中响应 post 方法
  • 一个jsp页面上有很多单选按钮是个问题。
猜你喜欢
  • 1970-01-01
  • 2014-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多