@Stels_6

Как удалить пост с помощью get запроса?

При нажатии на кнопку должен удаляться пост. Мне сложно сориентироваться как правильно это сделать. Код выглядит так:
<c:url value="/post/create" var="createNewPost"/>
<c:url value="/post/delete/" var="deletePost"/>
<c:forEach var="post" items="${postList}">
                <div class="card post w-100 mb-2 bg-light">
                    <div class="card-body pb-2 pl-2 pt-2">
                        <div class="row">
                            <div class="col-md-3">
                                <a href="/post/${post.getId()}">
                                    <img src="${getImagePath.apply(post)}" alt="Error load image"/>
                                </a>
                            </div>
                            <div class="col-md-9">
                                <blockquote class="blockquote mb-0">
                                    <h6><a href="/post/${post.getId()}">${post.getTitle()}</a></h6>
                                    <code>${fn:substring(post.getBody(), 0, 150)}</code>
                                    <footer class="blockquote-footer">
                                        <cite title="Source Title">Posted:${getFormatCreatedon.apply(post, "dd.MM.yyyy hh:mm a")}</cite>
                                        <cite title="Source Title">Age: ${post.getAge()} years</cite>
                                    </footer>
                                </blockquote>
                                <div id="toolbar">
                                <a class="btn btn-primary btnPost" onclick="submitdata();" role="button">Delete</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
</c:forEach>
  • Вопрос задан
  • 1283 просмотра
Пригласить эксперта
Ответы на вопрос 2
azerphoenix
@azerphoenix
Java Software Engineer
Здравствуйте!

При нажатии на кнопку должен удаляться пост. Мне сложно сориентироваться как правильно это сделать.


Давайте разделим работу на несколько условных частей и разберем поотдельности.
1) Back-end.
Создайте сервлет, который будет обрабатывать ваши get запросы на удаление записи.
Например, структура запроса должна быть примерно такой:
/posts/delete/{id}
Конечно, правильнее было бы сделать урл иной структуры, но пока не будем на этом зацикливаться. В данном случае {id} это id поста, который нужно удалить.
Соответственно, получаете запрос из фронта и достаете из урла id статьи.
Далее обращаетесь в базу данных (скорее всего вы используете jdbc). Находите статью по этому id и удаляете ее.

2) Front-end
Вам из фронта нужно выполнить запрос на удаление статьи.
Судя по вашему коду <c:forEach var="post" items="${postList}"> у вас выводится некий цикл (список) статей.
А эта кнопка предназначена для удаления статьи.
<a class="btn btn-primary btnPost" role="button">Delete</a>


Измените кнопку и добавьте в нее href атрибут, в котором укажите url на который нужно сделать запрос и id поста, который вы получаете отсюда post.getId()
Ответ написан
Комментировать
alex4answ
@alex4answ
никак, то что вы скинули - часть шаблонизатора.
Вам же нужен та часть бекенда которая будет обрабатывать ваш get запрос и удалять из базы (или откуда там у вас берется postList)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы