我有 1 个 JSP,比如说1.jsp
我有一个request.getAttribute("testvalue")
从动作类中获得的值,因为我正在使用 Struts 框架。我需要将此值发送1.jsp
到另一个2.jsp
。请让我知道该怎么做?
同样继续,我需要将此值发送2.jsp
到3.jsp
。我试图避免在会话中使用设置值。所以让我知道如何做到这一点?
从请求中获取价值,您应该为请求赋予价值。这段代码
request.getAttribute("testvalue");
正在获得价值,但该代码
request.setAttribute("testvalue", value);
正在放它。
这是因为您想避免使用 HTTP 会话。
这是我知道的另一种方式:
使用获取参数:例如,您有一个指向第二个 jsp 文件的链接。在链接末尾添加您的参数。像这样:mysite.com/second.jsp?param1=value1¶m2=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。当您将当前数据在下一个使用请求的第二页中返回给您时,其他方式使用。
如果这是在单个请求中,则请求属性可用于转发链中的所有页面。这意味着所有 servlet 和 JSP 都可以访问。因此,在请求周期的任何时候,在设置属性后,都可以使用 request.getAttribute(String) 检索该值。