![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Жоржик |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 20.2.2011 Репутация: нет Всего: нет |
Здравствуйте. Я новичек в J2EE, так что пока использую только сервлеты без JSP. Так вот, в сервлете метод GET:
А метод POST:
request.getParameter("newName") постоянно возвращает null. Что я делаю не правильно? Если users.setName() добавить строку, то все работает. |
||||
|
|||||
| llalive |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 7.6.2011 Репутация: нет Всего: нет |
Куда отправляет данные Ваша форма?
Функция doPost выполняется при отправке данных - т.е. при нажатии на кнопку submit. Далее данные отправляются по пути LoginForm, указанному в параметре action формы. Проблема в том, что request.getParameter("newName") возвращает null? Собственно, на момент вызова массив с параметрами действительно пуст. Допустим если бы у Вас был другой сервлет, и на него ссылалась данная форма - то он бы принял Вашу переменную. Также бывает полезно использовать method=GET, дабы видеть что передаётся. Всё вышеизложенное ИМХО - могу ошибаться.. |
|||
|
||||
| Жоржик |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 20.2.2011 Репутация: нет Всего: нет |
А без передачи в другой сервлет никак не получится? Это сообщение отредактировал(а) Жоржик - 11.6.2011, 19:28 |
||||
|
|||||
| llalive |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 7.6.2011 Репутация: нет Всего: нет |
Ну допустим можно ссылаться на тот же сервлет (если прописать путь LoginForm для него).
Из разряда "на костылях" Используйте функцию proceessRequest. Думаю нечто подобное должно работать. Т.е. сервлет будет выводить форму, затем редиректить сам на себя и, если параметр dataSend будет равен true - будет обрабатывать переправленную переменную newName (далее я так понял Вы её в базу сохраняете?).
Не проверял, ибо вырвано из контекста и не до конца ясна задача Вашей программы. Может выдавать NullException при проверке (request.getParameter("dataSend").equals("true")). Тогда ещё и на null придется проверять - (!request.getParameter("dataSend")==null). Вообщем, ###код в действии)). |
|||
|
||||
| Жоржик |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 20.2.2011 Репутация: нет Всего: нет |
Спасибо. Проблему решил: прописал в form полный путь к сервлету out.print("<form action=\"../Example/LoginForm\" method=\"POST\">").
Это сообщение отредактировал(а) Жоржик - 11.6.2011, 19:53 |
|||
|
||||
| Stolzen |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1041 Регистрация: 17.10.2005 Репутация: 3 Всего: 48 |
Замените на <form action=\"\" method=\"POST\"> и все должно работать. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |