2014-12-20 6 views
2

Я хочу добавить клиентов в базу данных с помощью JSP, JQuery и Servlets. Когда клиент уже существует в таблице базы данных, я хочу показать сообщение с подтверждением (Клиент уже существует. Вы уверены, что хотите добавить одного и того же клиента?). Когда Клиент не существует, все данные записываются в таблицу, и нет необходимости показывать подтверждающее сообщение.Как отобразить сообщение подтверждения с помощью сервлета

Мой JQuery код до сих пор:

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

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

}); 

И мой сервлет:

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

Когда я нажимаю кнопку отправки всегда отображается сообщение с подтверждением. Я не хочу показывать подтверждение, когда клиент еще не существует в базе данных.

ответ

0

Вы можете написать печенье на сторону клиента на отправить, а затем проверить, если что печенье есть вы показать сообщение, если вы не пройти нормальную обработку

+0

вы можете показать мне, как создать печенье на стороне клиента на представить? –

+0

@ user213628 проверить это http://stackoverflow.com/questions/1458724/how-to-set-unset-cookie-with-jquery – SwEngin

0

Предполагая, что у вас есть JSP, как login.jsp, который сообщения для сервлета, например myservlet, который, в свою очередь, вызывает метод запроса к базе данных. Я бы попробовал следующее: -

  1. Опубликовать предоставленные пользователем значения в servlet myservlet (post method). Теперь используйте эти значения для метода, который запрашивает базу данных и обнаруживает, существует ли этот пользователь уже.

2.Если да, используйте RequestDispatcher для входа в систему login.jsp. На этот раз сообщите, что пользователь уже существует. Пользователь должен снова заполнить эту информацию новым именем пользователя, после чего снова введите значения.

  1. Если пользователь не существует, продолжите нормальный поток и создайте пользователя.
+0

Я понимаю ваш ответ. но когда клиент уже существует, я хочу добавить больше одного и того же клиента, показывая сообщение подтверждения, если «да» может вставить одного и того же клиента, если щелкнуть «нет» отменить –

+0

Хорошо ... я бы предложил использовать RequestDispatcher для например, customerExists.jsp. На этот раз спросите пользователя, хочет ли он/она продолжать работу с созданием пользователя. Если да, то вставьте его. если нет, переадресовываете login.jsp. – sudhir

+0

Однако вам нужно будет убедиться, что вы не нарушаете никаких правил ограничения базы данных.Если вы сделали уникальное имя клиента, конечно, вы бы никогда не достигли того, что вы пытаетесь сказать здесь. Но если имя пользователя не определено как уникальное в вашей базе данных, то продолжайте, но убедитесь, что у вас есть другой атрибут, который проверяет пользователя однозначно, например. создать уникальный идентификатор для пользователя или запросить электронную почту и сделать это уникальным полем. – sudhir

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, вы можете написать свой ответ в сервлет в атрибуте и напечатать ответ от этого атрибута в 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 обескуражены вы можете использовать JSTL-теги, например: -

${requestScope.Response} 
+0

это только предупреждение не подтверждение да, нет –

Смежные вопросы