2013-04-01 4 views
0

Я смотрю, что если форма содержит нулевые значения, форма должна снова появиться пользователю, запрашивающему заполнение информации. Эта проверка должна выполняться в сервлете. Я пытаюсь использовать следующий код, но все же, когда я нажимаю кнопку «Отправить», он все равно не повторится снова.Как снова заполнить форму?

String firstname = request.getParameter("firstname"); 
String lastname = request.getParameter("lastname"); 
if(request.getParameter("firstname").equals(" ") || request.getParameter("lastname").equals("")) 
{ 
      getServletContext().getRequestDispatcher("/index.jsp").forward(request, response); 
      return; 
} 

Я пропустил что-нибудь еще ?? Может ли кто-нибудь объяснить это?

+0

Пожалуйста, пост полный контекст сервлета здесь – kolossus

ответ

0
  1. Всегда проверяйте нулевые значения, когда вы получаете параметры.
  2. Избегайте повторяющихся кодов, даже если вы проверяете коды нежелательной почты (сделайте это практика, код кодирования) например. используя request.getParameter («firstname»); в конфедерации, когда уже назначен переменной String.
  3. Избегайте ненужных кодов. например, выражение «возврат» в вашем коде

Возможно, вы столкнулись с исключительным исключением указателя NPE, если его не обрабатывать должным образом.

String firstname = request.getParameter("firstname"); // check other condiftions as well 
    if(firstname==null || "".equals(firstname) || " ".equals(firstname)){ 
    /* your code 
    use below line to redirect to any page 
    make sure you are providing correct path of index.jsp or any servlet for redirection 
    servlet mapping should be defined in web.xml*/ 

response.sendRedirect("index.jsp"); 
    } 
0

Как все сказано, пожалуйста, очистите свой код. И в servlet просто так.

if(request.getParameter("firstname") ==null){//and other conditions here 
     response.sendRedirect("/index.jsp");   
    } 
+0

Спасибо Baadshah – user2052801

+0

Ура .. :). Пожалуйста, отметьте его в качестве ответа, если полезно. –

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