在JSP中获取选中或选中的单选按钮值

时间:2015-03-03 17:38:13

标签: html mysql jsp

我编写了一个JSP程序,以4个单选按钮(即数据库中的4个值)的形式从MySQL数据库中获取一些值的列表,这些正常工作。 当我选择一个单选按钮并单击true时,我也将所选单选按钮存储在显示next的会话中,但我想在提交按钮上获取所有选定的值。我已经为"提交"提供了一个动作。另一个JSP页面中的按钮,意味着我想在新的JSP页面上显示值。

我有三个问题来自数据库。这就是为什么我有一个<a href>Next</a>下一个,以便我可以逐个查看问题 每个问题都有4个选项,我在列表中得到的值(ansList.get(i))采用单选按钮的形式,每个选中的单选按钮值都需要在新的JSP页面中显示。

我尝试在新的JSP页面中使用request.getParameter("easy_answers"),但我得到的是null

要获取所选单选按钮的值,我需要做什么?

<%
Server_Sql server_Sql = new Server_Sql();
String ques_id = request.getParameter("easy_questions_id");
String answer = request.getParameter("answers");
int ques = Integer.parseInt(ques_id);
int next_question = ques + 1;
String answer_selected = request.getParameter("answer_selected");
Boolean ans_selected = Boolean.valueOf(answer_selected);
if (ans_selected == true) {
    session.setAttribute("ques_id", ans_selected);
}
String questions = server_Sql.getQuestions(ques);
System.out.println("Question is " + questions);
List<String> ansList = server_Sql.getAnswers(ques);
server_Sql.close_connection();
%>
</head>
<body>
<h3>
    <%=questions%></h3>
<br>
<h3>
    <%
        for (int i = 0; i < ansList.size(); i++) {
    %>
    <form>
        <input type="radio" name="easy_answers" value="answers"
            checked="checked">
        <%=ansList.get(i)%><br>
        <%
            }
        %>
    </form>
</h3>
<br>
<%
    if (ques == 3) {
%>
<form action="results.jsp" method="get">
    <div>
        <input type="submit" value="Submit">
    </div>
</form>
<%
    } else {
%>
<div align="right">
    <a
        href="http://localhost:8082/StudentsServer/questions.jsp?
        answer_selected=true&easy_questions_id=
        <%=next_question%>">Next</a>
</div>
<%
    }
%>
</body>

您还需要我详细说明,请告诉我..

2 个答案:

答案 0 :(得分:0)

您需要在相同的表单标记中保留答案并提交按钮。然后它将作为参数传递给您的下一个JSP:

<form action="results.jsp" method="get">
   <%
     for (int i = 0; i < ansList.size(); i++) {
   %>
   <input type="radio" name="easy_answers" value="answers"
        checked="checked">
   <%=ansList.get(i)%><br>
<%
 }
%>
 <input type="submit" value="Submit">
</form>

答案 1 :(得分:0)

如果您想提供多个选择选项,那么您应该使用支票簿而不是单选按钮,如下所示

<form action="results.jsp" method="get">


<%
     for (int i = 0; i < ansList.size(); i++) {
      %>
     <input type="checkbox" name="easy_answers" value="answers"
        checked="checked">
   <%=ansList.get(i)%><br>
<%
 }
 %>
 <input type="submit" value="Submit">

您将在servlet中的数组中选择选项,如下所示

String [] easy_answers = request.getParameterValues("easy_answers")
相关问题