如何将变量从一个jsp传递给另一个jsp而不使它们成为会话变量?

时间:2014-03-19 00:04:10

标签: java jsp session java-ee

我有一个网站,每个用户大约有15个会话变量。我最近开始阅读一篇文章,其中说“会话变量是邪恶的,它们会影响应用程序的性能”。阅读那篇文章我感到非常失望,因为我找不到任何其他方式可以访问其他页面上的变量。

考虑以下情况,

我有一个论坛网站,当用户点击某个特定问题时,会调用ForumSingleQuesitonController来存储问题,答案,问题和答案的评论都在ArrayList<ForumSingleQuestionBean>的对象中这个对象由我存储在会话中。

现在我使用resonse.sendRedirect("pages/forum_single_question.jsp");转到forum_single_question.jsp页面,从中我访问会话变量并打印出它的值。 现在我的问题是如何执行此过程,即在不使用会话变量的情况下将变量从Controller(Servlet)传递到JSP

提前致谢

1 个答案:

答案 0 :(得分:2)

我建议从servlet执行forward。这会将所有请求参数传递给JSP。

RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/forum_single_question.jsp");
dispatcher.forward(request,response);

如果您需要包含其他属性,请在转发前使用:

request.setAttribute("attributeName", value);