валидация полей

Тема в разделе "Java", создана пользователем -, 27 авг 2008.

Статус темы:
Закрыта.
  1. Гость

    не получается проверка на пустые поля.
    пытаюсь сделать сервлет. в сервлете метод doPost, в кот пока только:
    String surname = request.getParameter("surname");
    String name = request.getParameter("name");
    ....
    (предполагается потом будет ставится проверка этих полей)

    в jsp: <form action="emptyFieldResume" method="post">

    а web.xml такой:
    <servlet>
    <servlet-name>emptyFieldResume</servlet-name>
    <servlet-class>servlets.EmptyFieldResume</servlet-class>
    </servlet>

    <servlet-mapping>
    <servlet-name>emptyFieldResume</servlet-name>
    <url-pattern>/emptyFieldResume</url-pattern>
    </servlet-mapping>

    в tomcat в папке WEB-INF папка classes и в ней еще папка servlets, в котором как раз EmptyFieldResume.class.
    на всякий случай папку servlets запихала в папку, где jsp находятся.

    в общем, проблема такая:
    когда нажимаю на Submit, то у меня открывается страница, конец url которой emptyFieldResume, соответственно ошибка - не найдена (404).
    тогда в сервлете я еще добавила строку в конце response.sendRedirect("workBlank.jsp"); (не знаю, что она обозначает, но больше всего похоже на то, что ответом должна быть новая страница). ошибка осталась та же.
    может кто-то помочь?
    ну или хотя бы как вообще нужно валидацию jsp-страницы делать? (я не использую jstl, struts, spring...)
     
  2. Гость

    в общем, ладно - избавилась я от сервлета.
    валидацию делаю в jsp.
    resume.jsp
    <%if ((surname == null)) {
    %>
    <form action="resume.jsp" method="post" >
    различные теги
    <% else { %>
    <jsp:forward page="workBlank.jsp"/>
    <% } %>
    в общем, в любом случае (заполнено ли поле surname или нет) происходит переадресация на workBlank.jsp почему не реагирует на условие if ?

    в общем, рассказываю, как дальше у меня дела продвигаются :)
    в условие добавила surname.length == 0 - заработало.
    НО. у меня есть меню выпадалка, по умолчанию значение - [выберите поле]. если я делаю так:
    menu == "[выберите поле]" или menu.equals("[выберите поле]"), то на эти условия jsp не реагирует :)
    это вот во-первых.
    ну а во-вторых теперь нужно все-таки сервлету отдать валидацию, что не получается.
     
  3. Kmet

    Kmet Well-Known Member

    Регистрация:
    25 май 2006
    Сообщения:
    1.017
    Симпатии:
    1
    проверяйте на null и на String.isEmpty. Броузеры могут по разному передавать не заполненные поля.
    для начала следует хорошо разобраться в понятиями: package, classloader. Без этого ни куда.
    потому что ты пытаешься открыть по урлу domain:port/emptyFieldResume, а надо по domain:port/context/emptyFieldResume,
    где context это контекст по которому задеплоено приложение.

    в общем случае скриплеты зло.
    см. выше
    все же стоит научится пользоваться дебагом. очень полезное умение=).
     
  4. Гость

    в общем, если проверяю конкретно на jsp странице, то все работает, а вот сервлет нет.
    сервлет только получает параметры, проверяет их и в зависимости от проверки, переадресовывает пользователя на соответствующую страницу, например:
    getServletContext().getRequestDispatcher("/resume.jsp").forward(request, response);
    у меня догадки: либо неправильный web.xml, либо неправильное использование сервлета. но вроде в сервлете так можно делать, а в web.xml тоже все вроде правильно написано. в общем, в замешательстве
     
Загрузка...
Похожие Темы - валидация полей
  1. xKlonx
    Ответов:
    9
    Просмотров:
    2.389
  2. Nerkon
    Ответов:
    0
    Просмотров:
    983
  3. Eugen
    Ответов:
    5
    Просмотров:
    2.123
  4. vital
    Ответов:
    3
    Просмотров:
    2.639
  5. Kizarek86
    Ответов:
    9
    Просмотров:
    4.520
Статус темы:
Закрыта.

Поделиться этой страницей