0

我正在制作一个显示大量数据的网页。最初,用户在 jsp 中输入一个表单,其中包括他们上传文件和选中选项的复选框。当用户点击提交时,它会转到处理表单信息的 servlet。信息被处理,结果,创建了几个大的字符串数组。然后我重定向到显示页面,传递参数如下:

request.setAttribute("blah", array);
request.getRequestDispatcher(page).forward(request,response);

在显示页面上,我希望能够让用户选择他/她想要查看的页面。为此,我在将页码作为参数传递的页面顶部创建了链接:

<a href="DisplayPage?Page=x">Page x</a>

(DisplayPage 是显示数据的 servlet,因此链接使用不同的参数指向自身)

问题是,为了再次显示数据,必须将大数组传递回 DisplayPage。我怎样才能做到这一点?

4

1 回答 1

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"));
于 2012-07-18T17:08:07.007 回答