【发布时间】: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 教程会让您入门。