我不确定这是否是正确的术语,但我想从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>");
}
}
&#13;
这个servlet正在做的只是从主jsp页面获取用户id,然后运行一个连接到数据库的对象并提取所有必需的信息。这一切都很好用。现在通过pull,我的意思是当用户单击主jsp上的查找按钮时,它应该运行(而不是重定向)到servlet,servlet将执行上述所有操作,然后显示它在文本框中获取的信息。主要的jsp。
谢谢!
答案 0 :(得分:0)
您需要使用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()
答案 1 :(得分:0)
实际上我并不想使用AJAX来产生结果,因为我的项目不需要这样做,但我想这种方法有效。在做了更多研究并与我的教授交谈之后,我得出的结论是,在提取信息后你不会登陆同一页面。您只需创建另一个页面,该页面使用与拉出的所有信息相同的设置。
对于用户而言,它看起来好像在同一页面上,但实际上它们位于看起来相同的新页面上。