我必须写一个与JSP和Servlet的网站,其中显示一个问卷,并获得用户的结果。
我已经编写了问题对象、调查问卷(问题的随机列表)和问题库。
现在,我的Servlet生成一个调查问卷实例并显示问题。我的问题是我不知道如何得到结果。我可以得到答案,但AFAIK每次我加载Servlet时,它都会生成一个新的问卷,而答案将是无用的。那么我如何才能将答案传递给正确的调查问卷呢?或者,我如何将调查问卷传递给我的新Servlet?
非常感谢。
编辑:以下是问卷的代码:
public abstract Question getNextQuestion();
public abstract void setResult(ArrayList<Boolean> answers);
public abstract int[] getResult();基本上,我会创建一个调查问卷,然后通过getNextQuestion()获取下一个问题,直到没有其他问题。然后,用户将点击submit按钮,我将不得不阅读答案并将其传递给调查问卷(实际问题为setResult())。当没有问题时,我将使用retResult()作为结果。
希望这能有所帮助。我不能给你任何JSP代码,因为我还没有写好JSP
发布于 2009-12-09 23:52:44
由于您是在用户进入站点时为每个用户创建一份调查问卷,因此可以让servlet生成调查问卷并以"lastGeneratedQuestionnaire“这样的名称将其记录到会话中。
提交答案后,该servlet将按该名称从会话中检索调查问卷。如果没有,我会将用户重定向回生成新调查问卷的页面。
此外,每次生成随机调查问卷时,生成新调查问卷的页面都应覆盖会话中的对象。
它的缩写是在两个请求之间存储对象的HttpSession。
发布于 2009-12-09 23:52:38
任何必须在多次请求中存活下来的数据都应该进入会话(参见request.getSession())。
发布于 2009-12-09 23:53:27
通常,您将拥有一个表单对象(在JSP页面上),该对象将与您的调查问卷相关联。
<html:form action="/servlets/MyQuestionaireServlet method="post">
<h3>Question 1: What is your name</h3>
<html:text name="question1" />
<input type="submit" name="submitBtn" value="Submit"/>
</form>为了将数据发送到servlet以便存储/记录数据,您需要在表单中提供一个提交按钮。这将把表单中的所有数据发送到servlet。
好的一点是,没有struts,您仍然可以在表单上执行标准的post方法,并检索action下面列出的servlet中的值。您不需要struts来对表单执行操作。
https://stackoverflow.com/questions/1874753
复制相似问题