如何使用Servlet显示确认消息

时间:2014-12-20 03:59:55

标签: java jsp servlets

我想使用JSP,JQuery和Servlets将客户添加到数据库中。当客户已经存在于数据库表中时,我想显示一条确认消息(客户已存在。您确定要添加同一客户吗?)。当Customer不存在时,所有数据都写入表中,无需显示确认消息。

到目前为止我的jquery代码:

$('#myForm').submit(function() {

      var c = confirm("Customer have already. Are your sure you want to add the same customer?");
      return c;

});

我的servlet:

   int i = 0;
   ArrayList<Customer> cus = CustomerDao.addcustomer("abc");
   i = cus.size();
   if(i > 0){
        statement;
    }else{
        statement ;
    }

单击提交按钮时,它始终显示确认消息。 当数据库中尚不存在客户时,我不想显示确认消息。

3 个答案:

答案 0 :(得分:0)

您可以在提交时向客户端写一个cookie,然后检查是否存在该cookie,如果没有进行正常处理,则显示该消息

答案 1 :(得分:0)

假设您有一个像login.jsp这样的jsp,它会发布到servlet,例如myservlet反过来调用一个方法来查询数据库。我会尝试以下方法: -

  1. 将用户提供的值发布到servlet myservlet(post方法)。现在,在查询数据库并查找此用户是否已存在的方法上使用这些值。
  2. 2.如果是,则使用RequestDispatcher登录login.jsp。这次给出用户已经存在的消息。用户需要再次使用新用户名填写信息,然后再次发布值。

    1. 如果用户不存在,请继续正常流程并创建用户。

答案 2 :(得分:0)

1)如果您使用ajax提交表单数据,您可以编写回复并显示相同的内容,例如: -

//in servlet
if(userExists)//dummycode
 response.getWriter().println("User already exists");
 //above will get displayed on your html/jsp page
else
 //logic

2)如果你没有使用ajax,你可以在一个属性的servlet中编写你的响应,并在jsp中打印该属性的响应,例如: -

//in servlet
request.setAttribute("Response","User already exists");
RequestDispatcher rd;
        rd = request.getRequestDispatcher("YourJSPpage");
        rd.forward(request, response);

和jsp

<%
String msg=request.getAttribute("Response");
%>
if(msg!=null){
<p><%=msg%></p>
}

但是由于不鼓励jsp中的scriptlet,你可以使用JSTL标签,例如: -

${requestScope.Response} 
相关问题