Перед началом работы запустите локальный сервер. Без работающего сервера приложение не будет функционировать.
Создание ссылки для добавления статьи
В файле blogs/header создайте ссылку «Добавить статью», ведущую на URL-адрес добавления статьи.
Настройка контроллера
В контроллере добавьте обработчик для URL-адреса /blog/add. При обращении к этому адресу вызывается функция blogAdd, которая использует шаблон blogAdd.html. В этом шаблоне передача записей не требуется.
Создание шаблона blogAdd.html
Создайте файл blogAdd.html в папке templates. Скопируйте код из blogMain.html, заменив основную часть на форму добавления статьи.
Форма добавления статьи
В теге <form> укажите:
- action="/blog/add": Обработка формы происходит по этому же URL-адресу.
- method="post": Данные передаются методом POST.
Добавьте поля ввода:
- type="text", name="title": Название статьи (placeholder: «Введите название статьи»). Класс: form-control.
- type="text", name="annonce": Анонс статьи. Класс: form-control.
- type="text", name="fullText": Полный текст статьи. Используйте тег <textarea>. Класс: form-control.
Кнопка отправки:
- type="submit": Отправка данных. Текст: «Добавить статью». Класс: btn btn-success.
Добавьте класс mb-3 к каждому элементу формы и класс mb-5 к контейнеру формы для стилизации. Замените placeholder’ы на:
- «Введите название статьи»
- «Введите анонс статьи»
- «Введите полный текст статьи»
Обработка данных формы
В контроллере создайте обработчик для URL-адреса /blog/add с методом POST: @PostMapping("/add"). Этот обработчик вызывается при отправке формы.
Получение данных из формы
Используйте аннотацию @RequestParam для получения данных из формы:
- @RequestParam String title: Значение поля «title».
- @RequestParam String annonce: Значение поля «annonce».
- @RequestParam String fullText: Значение поля «fullText».
Сохранение данных в базу данных
Создайте объект Post с помощью конструктора, принимающего title, annonce и fullText. Добавьте в модель Post конструктор, принимающий эти три параметра, и конструктор по умолчанию. Сохраните объект в базу данных с помощью postRepository.save(post).
Перенаправление пользователя
После сохранения данных перенаправьте пользователя на главную страницу блога /blog используя redirect:/blog.
Решение проблемы с уникальным идентификатором
При первом тестировании возможна ошибка, связанная с уникальным идентификатором, если записи были добавлены вручную в базу данных, минуя Spring Boot приложение. Удалите вручную добавленные записи из базы данных для решения проблемы.
В этом уроке создана форма для добавления записей на сайт, обработка данных формы и сохранение данных в базе данных с использованием Java Spring Boot. Добавленные записи отображаются на главной странице блога. Рекомендуется использовать только Spring Boot приложение для управления записями.