将值从1 jsp发送到另一个jsp

时间:2013-10-31 17:27:34

标签: java jsp struts

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

还要继续,我需要将此值从2.jsp发送到3.jsp。 我试图避免在会话中使用设置值。 那么让我知道怎么做?

3 个答案:

答案 0 :(得分:1)

从请求中获取值,您应该为请求添加值。这段代码

request.getAttribute("testvalue");

正在获取一个值,但该代码

request.setAttribute("testvalue", value);

正在投入。

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

以下是另一种我知道的方式:

使用get参数:例如,您有第二个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>

使用应用程序变量,但如果您的数据是通用的,或使用speciall参数名称来存储您的值。例如,您可以使用:

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

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

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

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