我想使用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 ;
}
单击提交按钮时,它始终显示确认消息。 当数据库中尚不存在客户时,我不想显示确认消息。
答案 0 :(得分:0)
您可以在提交时向客户端写一个cookie,然后检查是否存在该cookie,如果没有进行正常处理,则显示该消息
答案 1 :(得分:0)
假设您有一个像login.jsp这样的jsp,它会发布到servlet,例如myservlet反过来调用一个方法来查询数据库。我会尝试以下方法: -
2.如果是,则使用RequestDispatcher登录login.jsp。这次给出用户已经存在的消息。用户需要再次使用新用户名填写信息,然后再次发布值。
答案 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}