![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
sith |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
... тут же идея такая...
... что сервлет читает форму... записывает данные в файл... и тут же выводит эти данные на экран... со всем отсальными данными которые были в файле... я не могу просто редиректить после записи на другую страницу... мне нужно эти данные отобразить... -------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
check |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 610 Регистрация: 3.4.2006 Репутация: 2 Всего: 23 |
Можно так: обработку параметров пришедших из формы делай в методе
doPost(). Значит и форму нужно соответственно отправлять методом POST. Вывод данных из файла помести в метод doGet(). В doPost() после выполнения всех нужных действий(запись в файл и тд) пишешь
при этом произойдёт редирект на тот же сервлет, но запрос будет обрабатываться методом doGet(), в котором ты должен сделать проверку существования параметра param1, и если он есть, прочитать данные из файла и вывести их. |
|||
|
||||
PashaOvechkin |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 394 Регистрация: 1.4.2007 Где: Riga, Latvia Репутация: 1 Всего: 4 |
Как кто то уже упмоянул...
Помоему ету проблему можно решитй гораздо проще. При обновлении страницы вызывается метод ГЕТ. Значит в форме нужно установить метод ПОСТ. В сервлете пускай дуПост() делает генерацию чего то там. А дуГет... Хотя бы просто показывает ту же страничку заново. Ну или конечно редиретк поможет ![]() Это сообщение отредактировал(а) PashaOvechkin - 11.7.2007, 00:05 |
|||
|
||||
batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 16 Всего: 151 |
sith, просто редирект - это достаточно стандартный подход решения данной проблемы. К тому же, он поможет тебе лучше разделить логику и отображение.
Вот это и есть принципиальная ошибка. Зачем смешивать в одну кучу страничку отображения и сервлет записи? Лучше разделить - пусть определённый сервлет занимается обработкой форм, а страница - только выводит. Тогда ты просто поставишь в свою форму action="/BobsBandProj/SomeServlet">, a в нем уже сделаешь редирект на guests. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
sith |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 537 Регистрация: 11.2.2007 Репутация: нет Всего: 1 |
... ЗАПИСКИ С ФРОНТА...
... и так... метод пост не помог... при обнавлении страницы все равно запускаеться сервлет с теме же параметрами... а вот редирект прошел удачно... ... приму к сведенью ваши умные вещи о разделении добавления записей в их просмотр... полностью с этим согласен но в этом варианте исполнения так уже и останеться... ... всем большое спасибо... пока что проблема решена... будут новые... обязательно сообщу... -------------------- Там где ты ставишь глупые смайлики, я вбиваю восклицания знаки!!! |
|||
|
||||
IDVsbruck |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 778 Регистрация: 12.11.2006 Репутация: нет Всего: 22 |
Обойти повторное исполнение действий при обновлении страницы достаточно просто (старый дедовский способ):
в jsp-страничке до <html> (в заголовке): <% String randomStr = String.valueOf((new java.util.Random()).nextInt()); session.setAttribute("sessionAttr", randomStr); %> в форме, которая отправляется, добавить скрытый элемент: <input type="hidden" name="formAttr" value="<%= randomStr %>"/> А в сервлете делаем проверку: String sessionAttr = (String) _request.getSession().getAttribute("sessionAttr"); String formAttr = _request.getParameter("formAttr"); if (sessionAttr != null && formAttr != null) { if (!sessionAttr.equals(formAttr)) { refresh = false; } else refresh = true; } Естественно, перед выполнением действий, которые не должны повторяться, надо поставить проверку на рефреш ... Это сообщение отредактировал(а) IDVsbruck - 18.9.2007, 01:56 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "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. |