从JSP 1到JSP 2的java数据
我试图将两个值从JSP1传递到JSP2。我在JSP1和JSP2中使用下面给出的代码。我想在JSP2中显示key和value的值,但下面“output”部分给出的输出正在显示。我希望将这些值传递给JSP2,以便对它们执行一些逻辑。在执行JSP2中的逻辑之后,我想回到JSP1
所以JSP1从Java中的控制器类获取值。JSP1中有一个循环,JSP2在JSP1的循环中被调用。现在我无法访问从循环传递的值,但我可以访问从控制器类发送到JSP1和JSP2中的JSP1的值。因此,这个问题是由于循环中的值没有传递给JSP2而引起的
JSP1
<% request.setAttribute("key", "${entityitem.key}"); %>
<% request.setAttribute("value", "${entityitem.value}"); %>
<jsp:include page="JSP2.jsp"/>
JSP2
<%= request.getAttribute("key") %> : <br>
<%= request.getAttribute("value") %>
输出:
${entityitem.key}
${entityitem.value}
所需输出: 价值观
${entityitem.key}
${entityitem.value}
# 1 楼答案
您希望将值从一个jsp发送到另一个jsp,但问题是这两个页面如何相互通信?必须将一个jsp调用到另一个jsp中,否则可以设置会话变量并尝试在另一个变量中查找值。您在这里也做了同样的操作,但问题是,在会话集属性中,您没有使用el表达式设置值,而是传递字符串
您可以使用cookies,也可以在下一个jsp中使用该值。如果可能,请使用requestdispatcher,因为它比一切都好
# 2 楼答案
请检查以下事项
请确保从jsp页面中删除这一行
并确保您使用的是servlet 2.4或更高版本
在你的情况下,如果你想传递一些值,请不要包含jsp页面。相反,使用
request.getRequestDispatcher()
重定向到第二个jsp页面,并使用相同的requestdispatcher从第二个jsp页面传递值,我认为您将获得该值