首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSP传递变量

JSP传递变量
EN

Stack Overflow用户
提问于 2009-12-09 23:44:02
回答 3查看 568关注 0票数 0

我必须写一个与JSP和Servlet的网站,其中显示一个问卷,并获得用户的结果。

我已经编写了问题对象、调查问卷(问题的随机列表)和问题库。

现在,我的Servlet生成一个调查问卷实例并显示问题。我的问题是我不知道如何得到结果。我可以得到答案,但AFAIK每次我加载Servlet时,它都会生成一个新的问卷,而答案将是无用的。那么我如何才能将答案传递给正确的调查问卷呢?或者,我如何将调查问卷传递给我的新Servlet?

非常感谢。

编辑:以下是问卷的代码:

代码语言:javascript
复制
public abstract Question getNextQuestion();

public abstract void setResult(ArrayList<Boolean> answers);

public abstract int[] getResult();

基本上,我会创建一个调查问卷,然后通过getNextQuestion()获取下一个问题,直到没有其他问题。然后,用户将点击submit按钮,我将不得不阅读答案并将其传递给调查问卷(实际问题为setResult())。当没有问题时,我将使用retResult()作为结果。

希望这能有所帮助。我不能给你任何JSP代码,因为我还没有写好JSP

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-12-09 23:52:44

由于您是在用户进入站点时为每个用户创建一份调查问卷,因此可以让servlet生成调查问卷并以"lastGeneratedQuestionnaire“这样的名称将其记录到会话中。

提交答案后,该servlet将按该名称从会话中检索调查问卷。如果没有,我会将用户重定向回生成新调查问卷的页面。

此外,每次生成随机调查问卷时,生成新调查问卷的页面都应覆盖会话中的对象。

它的缩写是在两个请求之间存储对象的HttpSession。

票数 1
EN

Stack Overflow用户

发布于 2009-12-09 23:52:38

任何必须在多次请求中存活下来的数据都应该进入会话(参见request.getSession())。

票数 1
EN

Stack Overflow用户

发布于 2009-12-09 23:53:27

通常,您将拥有一个表单对象(在JSP页面上),该对象将与您的调查问卷相关联。

代码语言:javascript
复制
<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来对表单执行操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1874753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档