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

в общем, рассказываю, как дальше у меня дела продвигаются smile.gif
в условие добавила surname.length == 0 - заработало.
НО. у меня есть меню выпадалка, по умолчанию значение - [выберите поле]. если я делаю так:
menu == "[выберите поле]" или menu.equals("[выберите поле]"), то на эти условия jsp не реагирует sad.gif
это вот во-первых.
ну а во-вторых теперь нужно все-таки сервлету отдать валидацию, что не получается.
Kmet
Цитата(госик @ 27:08:2008 - 09:56) *
не получается проверка на пустые поля.
пытаюсь сделать сервлет. в сервлете метод doPost, в кот пока только:
String surname = request.getParameter("surname");
String name = request.getParameter("name");

проверяйте на null и на String.isEmpty. Броузеры могут по разному передавать не заполненные поля.
Цитата(госик @ 27:08:2008 - 09:56) *
в tomcat в папке WEB-INF папка classes и в ней еще папка servlets, в котором как раз EmptyFieldResume.class.
на всякий случай папку servlets запихала в папку, где jsp находятся.

для начала следует хорошо разобраться в понятиями: package, classloader. Без этого ни куда.
Цитата(госик @ 27:08:2008 - 09:56) *
когда нажимаю на Submit, то у меня открывается страница, конец url которой emptyFieldResume, соответственно ошибка - не найдена (404).

потому что ты пытаешься открыть по урлу domain:port/emptyFieldResume, а надо по domain:port/context/emptyFieldResume,
где context это контекст по которому задеплоено приложение.

Цитата(госик @ 27:08:2008 - 12:36) *
в общем, ладно - избавилась я от сервлета.
валидацию делаю в jsp.
resume.jsp
<%if ((surname == null)) {
%>
<form action="resume.jsp" method="post" >
различные теги
<% else { %>
<jsp:forward page="workBlank.jsp"/>
<% } %>

в общем случае скриплеты зло.
Цитата(госик @ 27:08:2008 - 12:36) *
в условие добавила surname.length == 0 - заработало.

см. выше
Цитата(госик @ 27:08:2008 - 12:36) *
НО. у меня есть меню выпадалка, по умолчанию значение - [выберите поле]. если я делаю так:
menu == "[выберите поле]" или menu.equals("[выберите поле]"), то на эти условия jsp не реагирует sad.gif
это вот во-первых.

все же стоит научится пользоваться дебагом. очень полезное умение=).
госик
в общем, если проверяю конкретно на jsp странице, то все работает, а вот сервлет нет.
сервлет только получает параметры, проверяет их и в зависимости от проверки, переадресовывает пользователя на соответствующую страницу, например:
getServletContext().getRequestDispatcher("/resume.jsp").forward(request, response);
у меня догадки: либо неправильный web.xml, либо неправильное использование сервлета. но вроде в сервлете так можно делать, а в web.xml тоже все вроде правильно написано. в общем, в замешательстве
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.