我有一个进行数据库查询的servlet。现在我需要将最终结果集转发到我的 jsp 页,然后使用 display-tag 显示行。 怎么做?如何将结果集从 servlet 传输到 jsp。无法直接转发结果集,因为它不可序列化。
如果我必须将两个结果集从 servlet 传输到 jsp 怎么办?
对象不必可序列化即可存储在请求属性中。HttpServletRequest 对象及其属性位于内存中。
displaytag 使用一个对象集合(大多数情况下是列表),这些对象应该遵循 JavaBeans 约定。
所以过程很简单:
- servlet 执行数据库查询
- 它循环访问结果集,并创建一个包含查询派生的数据的
List<Foo>
- 它将此列表存储为请求的属性:
request.setAttribute("foos", fooList);
- 它使用 RequestDispatcher 将请求和响应转发到 JSP
- JSP 使用显示标记将
${foos}
的内容显示为表格。
如果必须传输两个结果集,请执行 2 个请求,构建两个列表,将它们存储在 2 个请求属性中,并在 JSP 中使用两次 displaytag。