如何在jsp-servlets中的请求页面的同一页面上显示结果

时间:2012-04-17 20:46:56

标签: java jsp servlets

我使用jsp和servlets开发这个Web应用程序。我想知道如何在与发出请求的页面相同的页面上显示结果。例如,我通常做的是从一个jsp向servlet发送请求,然后servlet在单独的jsp上发送响应/结果。我想在同一页面上显示数据库结果。如何做到这一点?..代码片段将不胜感激。感谢

3 个答案:

答案 0 :(得分:3)

只需在请求范围内设置必要的数据,然后使用RequestDispatcher#forward()将控件转发到所需的JSP,然后根据结果生成相应的HTML。

request.setAttribute("results", results);
request.getRequestDispatcher("/WEB-INF/page.jsp").forward(request, response);

our servlets wiki page中的hello world示例也证明了这一点。

答案 1 :(得分:2)

这是完全可行的,但您需要在工具集中包含JavaScript。我建议的是你的应用程序中的AJAX方法,这意味着密集使用客户端脚本(即JavaScript)。

DeveloperWorks中的

This tutorial提供了一种纯JavaScript / Servlet方法。如果你想做更多高级的东西,我强烈建议你使用支持AJAX的JavaScript Framework,比如JQuery

答案 2 :(得分:0)

从您的servlet中,将重定向发送到同一页面。另外,在请求中设置一些属性并在页面中显示,例如在请求中保存List<MyObject>,然后在您的jsp中从请求中读取列表并在表中显示值。