
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
16.02.2015, 23:02
|
|||
|---|---|---|---|
|
|||
JSP + Servlets |
|||
|
#18+
всем добрый вечер! у меня ситуация: есть jsp, на котором есть таблица товаров (берется из БД). есть сервлет testServlet, с url-ом hello. этот сервлет в методе doGet делает выборку из таблицы товаров и передает это в jsp, а методом doPost принимает данные из формы в jsp, удаляет даные в таблице, и возвращается в jsp. Код сервлета hello: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. Код jsp: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. В таблице есть столбец с чекбоксами для того, чтобы отметить те записи, которые надо удалить. При нажатии "Отправить" - запрос POST. Сервлет hello принимает этот запрос, удаляет записи из БД, формирует таблицу по новой, и передает это в jsp. суть вопроса: я зашел по УРЛ hello. первый запуск - все правильно, выборка из таблицы. выбрал записи для удаления, отправил POST - все прекрасно, выделенные записи удалены, таблица сформировалась по новой. нажимаю кнопку "Обновить" - и идет тот же самый POST, который уже не нужен. мне нужно, чтобы по кнопке "обновить" обновлялась только таблица (то есть, проходили те действия, которые происходят при GET-запросе сервлета hello). как исправить ситуацию? и вообще, правильно ли так строить архитектуру приложения? я только начинаю работать с сервлетами, поэтому мог сразу неправильно построить архитектуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2015, 06:24
|
|||
|---|---|---|---|
|
|||
JSP + Servlets |
|||
|
#18+
ВалисийВ таблице есть столбец с чекбоксами для того, чтобы отметить те записи, которые надо удалить. При нажатии "Отправить" - запрос POST. Сервлет hello принимает этот запрос, удаляет записи из БД, формирует таблицу по новой, и передает это в jsp. суть вопроса: я зашел по УРЛ hello. первый запуск - все правильно, выборка из таблицы. выбрал записи для удаления, отправил POST - все прекрасно, выделенные записи удалены, таблица сформировалась по новой. нажимаю кнопку "Обновить" - и идет тот же самый POST, который уже не нужен. мне нужно, чтобы по кнопке "обновить" обновлялась только таблица (то есть, проходили те действия, которые происходят при GET-запросе сервлета hello). Все правильно! Обновить посылает последний отображенный запрос к серверу. Валисийкак исправить ситуацию? и вообще, правильно ли так строить архитектуру приложения? я только начинаю работать с сервлетами, поэтому мог сразу неправильно построить архитектуру. Ну вообще JSP, это не "стильно, модно, молодежно". Сейчас мода на клиент написан на JavaScript, данные берутся из REST-ов. (Причем берется фреймворк типа Angular'а) Т.е. Клиент HTML + js, сервер REST (на чем угодно). Запросы на сервер отправляются ч/з Ajax. Применительно к вашей задаче. 1) Находите любую js библиотеку для работы с grid'ом. Обычно в них есть возможности для манипуляции с данными (добавить, изменить, удалить) 2) Смотрите какой JSON-формат принимает grid. Под него пишите сервлет реализующий REST-сервис. ... 4) PROFIT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2015, 14:11
|
|||
|---|---|---|---|
|
|||
JSP + Servlets |
|||
|
#18+
Я понимаю, что все правильно (должен уйти последний запрос). А как бы мне так сделать, чтобы при обновлении запрос не уходил? Может, надо архитектуру перестроить как-то? Давайте пока что не будем говорить о JS-библиотеках. У меня задача - это сделать с использованием JSP+Servlets. Я еще в этой теме плаваю. Куда уж тут о библиотеках говорить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2015, 14:31
|
|||
|---|---|---|---|
JSP + Servlets |
|||
|
#18+
Валисий, попробуйте заменить это Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. на это Код: java 1. Идея в том что после удаления, вы инициируете редирект, что есть с точки зрения бразуера абсолютно новый реквест, который сохранится в хистори последним. Тогда по ф5 он и будет вызываться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2015, 14:46
|
|||
|---|---|---|---|
|
|||
JSP + Servlets |
|||
|
#18+
Спасибо, попробую! По результатам отпишусь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2015, 14:59
|
|||
|---|---|---|---|
JSP + Servlets |
|||
|
#18+
Валисий, либо вместо try на сервере, на клиенте JS Код: javascript 1. после Отправить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
17.02.2015, 15:08
|
|||
|---|---|---|---|
JSP + Servlets |
|||
|
#18+
хотя если сохранился в истории....тогда на тебе все варианты редиректа) на JS (location navigate history) ================ 1, 1 <script language=”javascript” type=”text/javascript”> 2 window.location.href=”login.jsp?backurl=”+window.location.href; 3 </script> 2, 1 <script language=”javascript”> 2 alert(”back”); 3 window.history.back(-1); 4 </script> 3, 1 <script language=”javascript”> 2 window.navigate(”top.jsp”); 3 </script> 4, 1 <script language=”JavaScript”> 2 self.location=”top.htm”; 3 </script> 5, view source print? 1 <script language=”javascript”> 2 alert(”Access Violation”); 3 top.location=”error.jsp”; 4 </script> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
18.02.2015, 00:31
|
|||
|---|---|---|---|
|
|||
JSP + Servlets |
|||
|
#18+
Помогло: Код: java 1. Только пришлось кое-что поменять: Код: java 1. Потому что у меня Tovary.jsp в файле web.xml никак не отражен. Там только сервлет TestServlet, c URL hello. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=59&tablet=1&tid=2125792]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
164ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 502ms |

| 0 / 0 |
