我列出了50个问题,请用户回答他选择的25个问题。我正在为此目的使用JSP和Servlet。
这是我的代码:
<form action="Servlet1" method="post">
<%List questions = new ArrayList(); // This list has 50 questions
for(int i=1; i<questions.size(); i++)
{ %>
Question Number: <% out.println(i); %><br><br>
<%=questions.get(i)%><br><br>
Answer:
<input type="hidden" name="question" value="<%=questions.get(i) %>">
<input type="text" name="answer"> <br><br>
<input type="submit" value="submit" name="submit">
<% } %>
但是在Servlet中,当我使用request.getParameter("answer");
它时,它仅回答显示的最新问题;当用户回答其他问题时,它被保存为空白(不是“ null”),而是另存为“-空白”。问题也没有得到相应的保存。但是,当用户回答最近的问题时,问题和答案都将被保存。
我认为这是因为某些逻辑错误..任何人都可以帮我解决一个问题...
我想将问题和答案保存在数据库中,无论用户回答哪个问题。
在html中,每个元素都是通过名称或ID标识的。但是它必须是唯一的。该代码会在问题上循环,并且每次都定义answer
用于文本输入的相同名称。因此它不会创建另一个文本,但会覆盖前一个文本。因此,您必须使用i
其他方法使其具有独特性,例如
<input type="text" name="answer<%=i>"> <br><br>
你可以在服务器端像
for(int i=1; i<questions.size(); i++)
{
String answer= request.getParameter("answer"+i)
//add logic here
}
我希望这个能帮上忙!!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句