我必须使用 JSP 和 Servlet 编写一个网站,用于显示调查问卷并获取用户的结果。
我已经编写了问题对象、调查问卷(随机问题列表)和问题库。
现在我的 Servlet 生成调查问卷的实例并显示问题。我的问题是我不知道如何获得结果。我可以获得答案,但据我所知,每次加载 Servlet 时,它都会生成一个新的调查问卷,而答案将毫无用处。那么我怎样才能传递正确的问卷答案呢?或者如何将调查问卷传递给我的新 Servlet?
非常感谢。
编辑:这是调查问卷的代码:
public abstract Question getNextQuestion();
public abstract void setResult(ArrayList<Boolean> answers);
public abstract int[] getResult();
基本上,我创建一个调查问卷,并通过 getNextQuestion()
获取下一个问题,直到没有更多问题为止。然后用户将点击提交按钮,我必须阅读答案并将其传递给调查问卷(setResult()
对于实际问题)。当没有更多问题时,我将使用 retResult() 来获取结果。
希望这有帮助。我不能给你任何 JSP 代码,因为我还没有编写 JSP
最佳答案
由于您要在用户进入站点时为每个用户创建调查问卷,因此您可以让 Servlet 生成调查问卷并将其记录到 session 中,名称如“lastGenerateQuestionnaire”。
提交答案后,servlet 将从 session 中按该名称检索调查问卷。如果不存在,我会将用户重定向回生成新调查问卷的页面。
此外,生成新调查问卷的页面应在每次生成随机调查问卷时覆盖 session 中的对象。
它的缺点是...使用 HttpSession 在请求之间存储对象。
关于java - JSP传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1874753/