我想知道如何将数组或列表从一个.jsp页面传递到另一个页面。然后,我想从这个数组中获取值,并将它们分配给一个javascript数组。我想我已经正确配置了源.jsp页面,但是想知道如何获得第二个jsp页面中的值。
这是我的源.jsp文件:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Firstjsp</title>
</head>
<body>
<Form Method = "Post" Action = "Mapper.jsp">
<% String locations[] = {"Loan 1", "33.890542", "151.274856", "Address 1","true", "-35404.34"};
for (int i =0; i<locations.length; i++)
{
%>
<Input type = "Hidden" name = "loc" value = "<%= locations[i] %>">
<%
}
%>
</Form>
</body>
</html>发布于 2012-06-30 01:31:39
您可以使用HttpServletRequest#getParameterValues()获取它们。这将返回具有相同参数名称的所有参数值的字符串数组。在您的示例中,您已经在第一个JSP中生成了几个具有相同名称loc的隐藏HTML input元素,因此第二个JSP (或者最好是servlet)中的以下内容应该可以:
String[] locations = request.getParameterValues("loc");发布于 2012-06-30 01:21:50
我认为最简单的方法是将变量(它甚至可以用作指针)作为会话variable.This的方式,只要代码在同一个会话下运行,您就可以在任何地方访问它。
<% String name = request.getParameter( "username" ); session.setAttribute( "theName", name ); %>
这个例子还使用了request.The的不同之处是session stands out.For example如果你在会话中设置了一个变量,那么即使你关闭浏览器并重新启动它,它仍然是它的there.Think,因为当你从一个jsp/ variable.Request发送数据到另一个jsp/servlet时,最好使用全局servlet。它的生命周期基本上是1。当你重定向一个页面时,它就消失了。
您可以使用session.setParameter(name_of_the_variable,the_variable)和session.getParameter(name_of_the_variable)。作为一个对我有用的提示,请始终确保测试返回的参数,在上面的“NULL.If”的情况下,如果它不是名称,则会话中没有具有该名称的变量,它将返回NULL,并且很可能是crash.Hope,这很有帮助!
https://stackoverflow.com/questions/11266163
复制相似问题