java - 通过超链接将多个大型数组从 Servlet 传递到另一个 Servlet

标签 java jsp servlets parameters

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

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

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

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

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

问题是,为了再次显示数据,必须将大数组传回 DisplayPage。我怎样才能实现这个目标?

最佳答案

也可以将它们作为链接中的多值请求参数传递,

<a href="DisplayPage?Page=x&blah=value1&blah=value2&blah=value3">Page x</a>
String[] blah = request.getParameterValues("blah");

或者将其存储在 session 中,如有必要,可以通过唯一 ID 进行标识,该 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"));

关于java - 通过超链接将多个大型数组从 Servlet 传递到另一个 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11546541/

相关文章:

java - SQL Azure 和连接池

java - getServletContext().getRealPath ("/")返回错误路径

java - Spring Rest 模板和 JSON 数据

java - 如何使用 ThymeLeaf 发送带有内联图像的电子邮件

java - 处理上传文件时出错

java - 无法从 Vector<Object> 转换为 Integer

apache - 如何更正(Wicket in)Tomcat at/myapp behinds Apache proxy at/that send incorrect redirect to/myapp/xxx instead of/xxx?

java - 主框架顶部重叠面板

Java POST HTTPsUrlConnection 返回 200 响应

java - 无法为 JSP 编译类