| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
В прошлом упражнении мы создавали HTML разметку как строку. Конечно, никто не запрещает создавать HTML напрямую в виде строки, но такой способ просто перестает работать на реальных сайтах, где HTML одной страницы — это сотни, а то и тысячи строк. Для решения этой проблемы существует технология JSP.
JSP — это технология, позволяющая разработчикам создавать содержимое, которое имеет как статические, так и динамические компоненты. Страница JSP содержит текст двух типов: статические исходные данные, оформленные в формате HTML, и JSP-элементы, которые конструируют динамическое содержимое. В этом упражнении вам предстоит создать такие JSP — страницы.
В этом упражнении мы будем работать с данными, которые расположены в памяти. Список пользователей уже создан и записан в свойстве users класса UsersServlet. Структура списка такая же, как и в предыдущем упражнении:
// Гипотетический пример, показывающий структуру
users = [
{
"id": "4",
"firstName": "John",
"lastName": "Doe",
"email": "johndoe@gmail.com",
},
// другие пользователи
]В упражнении добавляется ещё один маршрут и обработчик, которые реализуют удаление пользователя из памяти. Но кнопка удаления ни в коем случае не должна сразу удалять. Человеку свойственно ошибаться (а ещё он любопытен) и вероятность, что он нажмёт на эту кнопку по ошибке, крайне высока. Правильный подход состоит в том, чтобы вывести страницу с подтверждением и спросить у пользователя, уверен ли он в том, что хочет удалить. Если да, то только в этом случае удалять.
Изучите содержимое метода doGet(), который в зависимости от пути в адресе запроса вызывает нужный обработчик (метод).
В методе showUsers() реализуйте передачу управления в jsp-файл /users.jsp. Для того, чтобы предать данные пользователей в jsp-файл, вам потребуется установить атрибуты запроса при помощи метода setAttribute().
В методе showUser() реализуйте передачу управления в jsp-файл /show.jsp. id пользователя передается как параметр в query string Например, ссылка на страницу пользователя с id = 5, будет выглядеть так: /users/show?id=5
Метод showDeletePage() выводит страницу с подтверждением удаления. Организуйте передачу управления в в jsp-файл /delete.jsp. Вам понадобится передать в шаблон данные пользователя для вывода текста с подтверждением удаления.
Изучите содержимое метода doPost(). Этот метод обрабатывает все запросы с глаголом POST, поступившие на адрес /users/*. В зависимости от пути в адресе запроса этот метод также вызывает нужный обработчик.
В методе deleteUser() реализуйте удаление пользователя из памяти. После удаления нужно будет выполнить редирект на страницу вывода всех пользователей /users.
Шаблон с выводом списка всех пользователей.
Шаблон с выводом данных определенного пользователя.
Шаблон с подтверждением удаления пользователя.
Нажатие на кнопку "Удалить" должно отправить форму используя POST-запрос на адрес /users/delete?id=..., где параметр id — это id пользователя, которого мы хотим удалить. Напрмер, чтобы удалить пользователя с id = 5, нужно отправить POST запрос на адрес /users/delete?id=5.
Для того, чтобы отправить POST запрос, вам потребуется использовать форму.
<form action="url" method="post">
<button type="submit" class="btn btn-danger">Удалить</button>
</form>| Back | FazBrowse Home | New Git URL |