【问题标题】:Pull info using a servlet and display on JSP使用 servlet 提取信息并在 JSP 上显示
【发布时间】:2015-03-17 17:49:51
【问题描述】:

我不确定这是否是正确的术语,但我想从 servlet 中提取一些信息并将其显示到我的 JSP 页面上。

这是我在 servlet 中使用的:

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
  response.setContentType("text/html;charset=UTF-8");
  try (PrintWriter out = response.getWriter()) {
    /* TODO output your page here. You may use following sample code. */
    out.println("<!DOCTYPE html>");
    out.println("<html>");
    out.println("<head>");
    out.println("<title>Servlet AccountLookupServlet</title>");
    out.println("</head>");
    out.println("<body>");
    String i, id, typ;
    double bal;
    i = request.getParameter("custid");
    try {
      Account c1 = new Account();
      c1.selectDB(i);
      id = c1.getCid();
      typ = c1.getType();
      bal = c1.getBalance();
    } catch (Exception e) {
      System.out.println(e);
    }
    out.println("</body>");
    out.println("</html>");
  }
}

这个 servlet 所做的只是从主 jsp 页面获取一个用户 ID,然后运行一个连接到数据库的对象并提取所有需要的信息。这一切都很顺利。现在通过拉,我的意思是当用户单击主 jsp 上的查找按钮时,它应该运行(而不是重定向)到 servlet,servlet 将执行上述所有操作,然后在文本框中显示它获得的信息主jsp。

谢谢!

【问题讨论】:

  • 哎呀;来自 servlet 的 HTML?! 不安的闪回有什么问题?如果您拥有该帐户,请使用与您一直在做的完全相同的东西来输出您希望显示的信息。然后停止这样做并使用 JSP。
  • 是的,我有帐户,所有信息都存储在 servlet 中。但是我想要的是,当用户单击 JSP 上的按钮时,它应该运行 servlet,并且它存储的信息将显示在 JSP 页面的文本框中。换句话说,用户永远不会看到 servlet。
  • 用户从一开始就永远不会“看到”servlet。您是否在问如何通过 Ajax(例如 JavaScript)检索信息并就地更新页面?!
  • 我猜是的,我要求从 JSP 中运行 servlet 的代码
  • 您不能从 JSP 中“运行 servlet”;你发出一个 HTTP 请求,获取输出,然后使用 JS 对 HTTP 响应做一些有用的事情。您可能希望为此使用 JS 库,jQuery 无处不在,但不是唯一的选择。在网上搜索 jQuery Ajax 教程会让您入门。

标签: java jsp servlets


【解决方案1】:

您需要使用 Ajax 调用 Servlet 并静默取回数据。为此,最好使用 JQuery ajax 进行投标。

以下是单击按钮时调用的 GET 请求示例:

       $('#button-id-goes-here').click(function ()
        {
            $.get( "your-url-for-servlet", function( data ) {
              // data is the response output from servlet
              $("#view-id-goes-here").html(data);
            });
        });

这段代码的作用很简单。它在单击按钮时调用 servlet URL,然后在给定 id 的视图中设置响应数据。在此处将数据设置为 HTML 内容,但您可以使用这些选项。

检查此链接: jQuery.get()

【讨论】:

    【解决方案2】:

    实际上,我不想使用 AJAX 来生成结果,因为我的项目不需要这样做,但我想该方法有效。在进行了更多研究并与我的教授交谈后,我得出的结论是,在提取信息后,您不会登陆同一页面。您只需创建另一个页面,该页面使用与提取的所有信息相同的设置。

    在用户看来,他们好像在同一个页面上,但实际上他们在一个看起来相同的新页面上。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-15
      相关资源
      最近更新 更多