показать уведомление на странице JSP в зависимости от флага? - PullRequest
1 голос
/ 24 мая 2010

У меня есть HTML-код на странице jsp, который я хочу, чтобы он отображался только после того, как пользователь отправит данные и будет перенаправлен на эту страницу. Поэтому я должен установить флаг успеха в качестве параметра в ссылке, как:

http://site.com/page?success=true

Не отправлять запрос, потому что он будет потерян, так как я перенаправляю Я не хочу отправлять его в ссылку в качестве параметра, и я думаю о другом способе а идеи как его отправить? Так что ссылка будет:

http://site.com/page

и я могу отобразить HTML-код?

1 Ответ

1 голос
/ 24 мая 2010

Просто установите его как атрибут запроса.

if (/* form is succesfully submitted */) {
    request.setAttribute("success", true);
}
request.getRequestDispatcher("page.jsp").forward(request, response);

Используйте тег JSTL c:if для условной визуализации содержимого на основе выражения EL.

<c:if test="${success}">
    Your notification here.
</c:if>

Если вы хотите пережить перенаправления, вам нужно вместо этого установить его как атрибут сеанса:

if (/* form is succesfully submitted */) {
    request.getSession().setAttribute("success", true);
}
response.sendRedirect("page.jsp");

Использовать c:remove удалить его после первого отображения, чтобы последующие запросы не были затронуты:

<c:if test="${success}">
    <c:remove var="success" scope="session" />
    Your notification here.
</c:if>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...