Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将值从1个jsp发送到另一个jsp_Java_Jsp_Struts - Fatal编程技术网

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

Java 将值从1个jsp发送到另一个jsp,java,jsp,struts,Java,Jsp,Struts,我有一个JSP,比如说1.JSP,其中我有一个值,该值来自action类的request.getAttribute(“testvalue”),因为我使用的是Struts框架。我需要将这个值从1.jsp发送到另一个2.jsp。请告诉我怎么做 同样,我需要将这个值从2.jsp发送到3.jsp。 我试图避免在会话中使用设置值。 因此,请告诉我如何执行此操作?如果此操作在单个请求中,则请求属性可用于转发链中的所有页面。这意味着所有servlet和JSP都可以访问。因此,在请求周期的任何时候,在设置属性之

我有一个JSP,比如说
1.JSP
,其中我有一个值,该值来自action类的
request.getAttribute(“testvalue”)
,因为我使用的是Struts框架。我需要将这个值从
1.jsp
发送到另一个
2.jsp
。请告诉我怎么做

同样,我需要将这个值从
2.jsp
发送到
3.jsp
。 我试图避免在会话中使用设置值。
因此,请告诉我如何执行此操作?

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

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

request.getAttribute("testvalue");
正在获取一个值,但该代码

request.setAttribute("testvalue", value);
他在说


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

以下是我知道的另外4种方法:

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

在第一个JSP页面中使用表单,在此使用隐藏输入:

<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 param name存储您的值。例如,您可以使用:

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

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

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


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

您尝试过谷歌搜索吗?我做了,有很多答案,很多都是这么说的。可能是重复的