我编写了一个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>
您还需要我详细说明,请告诉我..
答案 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")