我正在制作一个显示大量数据的网页。最初,用户在jsp中输入表单,其中包括上传文件和选中复选框的选项。当用户点击提交时,它会转到处理表单信息的servlet。处理信息,结果创建了几个大型字符串数组。然后我重定向到显示页面,传递参数如下:
request.setAttribute("blah", array);
request.getRequestDispatcher(page).forward(request,response);
在显示页面上,我希望能够为用户提供选择他/她想要查看的页面的选项。为此,我在页面顶部创建了一个链接,该链接将页码作为参数传递:
<a href="DisplayPage?Page=x">Page x</a>
(DisplayPage是显示数据的servlet,因此链接指向不同的参数)
问题是,为了再次显示数据,必须将大型数组传递回DisplayPage。我怎样才能做到这一点?
答案 0 :(得分:1)
也可以在链接中将它们作为多值请求参数传递,
<a href="DisplayPage?Page=x&blah=value1&blah=value2&blah=value3">Page x</a>
String[] blah = request.getParameterValues("blah");
或将其存储在会话中,如果需要,您还可以将唯一ID标识为请求参数。
String id = UUID.randomUUID().toString();
request.getSession().setAttribute(id, array);
request.setAttribute("id", id);
<a href="DisplayPage?Page=x&blah=${id}">Page x</a>
Object blah = request.getSession().getAttribute(request.getParameter("blah"));