-2

我有 1 个 JSP,比如说1.jsp我有一个request.getAttribute("testvalue")从动作类中获得的值,因为我正在使用 Struts 框架。我需要将此值发送1.jsp到另一个2.jsp。请让我知道该怎么做?

同样继续,我需要将此值发送2.jsp3.jsp。我试图避免在会话中使用设置值。所以让我知道如何做到这一点?

4

3 回答 3

1

从请求中获取价值,您应该为请求赋予价值。这段代码

request.getAttribute("testvalue");

正在获得价值,但该代码

request.setAttribute("testvalue", value);

正在放它。

这是因为您想避免使用 HTTP 会话。

于 2013-10-31T17:38:34.620 回答
0

这是我知道的另一种方式:

使用获取参数:例如,您有一个指向第二个 jsp 文件的链接。在链接末尾添加您的参数。像这样:mysite.com/second.jsp?param1=value1&param2=value2

在 firstjsp 页面中使用表单,在此使用隐藏输入:

<form action="second.jsp" method="post">
<input type="hidden" name="param1" value="value1" />
<input type="hidden" name="param2" value="value2" />
<input type="submit" name="next" value="Next Page" />
</form>

使用应用程序变量,但如果您的数据对所有人都是通用的,或者使用特殊参数名称来存储您的值。例如,您可以使用:

<% application.setAttribute("user1_param1","value1"); %>

在您的代码中使用 RequestDispatcher。并将您的参数设置在请求对象而不是会话中。

<%
request.setAttribute("param1","value1");
RequestDispatcher r=request.getRequestDispatcher("second.jsp");
r.forward(request, response);
%>

请Subtilize,您可以在不同的状态下互相使用。例如,当您在发送任何结果 ro 用户之前转发请求时,您可以使用 RequestDispatcher。当您将当前数据在下一个使用请求的第二页中返回给您时,其他方式使用。

于 2013-11-01T05:55:34.340 回答
0

如果这是在单个请求中,则请求属性可用于转发链中的所有页面。这意味着所有 servlet 和 JSP 都可以访问。因此,在请求周期的任何时候,在设置属性后,都可以使用 request.getAttribute(String) 检索该值。

于 2013-10-31T17:31:41.407 回答