如何将jsp页面中的变量值检索到另一个页面

如何将jsp页面中的变量值检索到另一个页面,jsp,servlets,Jsp,Servlets,我在一个jsp页面中声明了一个变量。此变量是一个数组。 如何在下一个jsp页面中检索此数组。 代码可能是: <% String[] a=new String[10]; int i=0; while(resultSet.next())//here I'd retrieved the values from the Database { a[i]=resultSet.getString(1); i++; } %>

我在一个jsp页面中声明了一个变量。此变量是一个数组。 如何在下一个jsp页面中检索此数组。 代码可能是:

<% 
    String[] a=new String[10];
    int i=0;
    while(resultSet.next())//here I'd retrieved the values from the Database
    {
        a[i]=resultSet.getString(1);
        i++;
    }
%>

将其放入会话中,该会话是web应用程序的所有页面和servlet之间共享的对象:

session.setAttribute("myarray", a);
并通过以下方式检索:

String[] bubi = (String[]) session.getAttribute("myarray");
相反,如果

下一页

您指的是当前页面中包含的页面在几行之后,您还可以使用请求属性(而不是参数!),设置:

request.setAttribute("myarray", a);
并获得:

String[] bubi = (String[]) request.getAttribute("myarray");

每个jsp文件都是独立存在的。您有两个选择: -您可以使用一个对象类,该对象类可以将其存储在当前会话中 -使用
rquest.setAttribute(“myArgumentName”,myArrayObject)将数组存储在请求的头部

  • 将其存储在会话中
  • 在隐藏字段中输出它,用逗号分隔,提交它,然后在下一页重新创建数组
我更喜欢第二种方法


但是尽量避免jsp页面中的java代码

谢谢大家!!这对我很有帮助。