java - 在JSP中,有没有一种方法可以将HttpServletRequest对象作为属性传递给另一个HttpServletRequest对象

标签 java jsp struts

我正在将 Struts/JSP 用于 Web 应用程序。我有一个页面 A,我在其中收集用户定义的参数(因为请求参数不能使它们成为 session 参数),然后我转到页面 B 向用户询问是/否类型的问题。如果是,我需要返回页面 A 并继续常规处理。但显然A页面的请求对象没有了。

有没有办法将页面 A 的请求对象设置为页面 B 中的参数,以便当我返回页面 A 时,我会得到与我第一次在那里(在页面 A 上)时相同的请求对象。

我需要如下所示的内容:

页面 A --(req1)------> 页面 B (set req.setAttr('prevReq', req1)) ------> 页面 A (req = req.getAttr('prevReq) '))

感谢任何帮助。

最佳答案

不,你不能做你想做的事。您了解 HTTP 请求-响应周期是如何工作的吗?

  • 用户使用浏览器向服务器发送 HTTP 请求。
  • 服务器处理请求(调用您的 servlet 或 JSP)。
  • 您的 servlet 或 JSP 会生成通常由 HTML 页面组成的响应。
  • 服务器将响应发送回浏览器。

您无法保存对页面 A 的请求,然后在页面 B 中响应该请求以使浏览器返回页面 A。这不是请求-响应循环的工作原理。

您可以做的是将数据存储在 session 对象中。您可以调用 request.getSession() 来获取 HttpSession 对象,您可以在该对象中存储该用户 session 期间的数据。在页面A中,您可以再次从 session 对象中获取数据。

关于java - 在JSP中,有没有一种方法可以将HttpServletRequest对象作为属性传递给另一个HttpServletRequest对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3170481/

相关文章:

java - 如何避免扩展枚举能力的不足?

java - 添加文本 java requestDispatcher

java - 从 JSP 中的 Javascript 访问 Java 变量

javascript - 处理数据表中的 session 超时(使用服务器端数据源处理)

java - 使用 java/j2ee 从其他服务导入 gmail、yahoo、msn 等联系人

java - Swing GUI 一件简单的事情

java - RETURN_GENERATED_KEYS 和指定生成的列名的区别

java - 通用 JDBC 异常 : could not extract ResultSet

java - JBOSS 7 域 jsp 更改重新启动后未反射(reflect)

java - 将 Struts Tiles 属性插入 JavaScript 函数