Интересно. Я нашел это в моем старом проекте.
(это был базовый контроллер, но вполне мог быть утилитарным методом)
protected void addMessage(String key, boolean isError,
HttpServletRequest request, Object... args) {
List<Message> msgs = (List<Message>) request.getAttribute(MESSAGES_KEY);
if (msgs == null) {
msgs = new LinkedList<Message>();
}
Message msg = new Message();
msg.setMessage(msg(key, args));
msg.setError(isError);
msgs.add(msg);
request.setAttribute(MESSAGES_KEY, msgs);
}
, а затем в messages.jsp
, который был включен во все страницы, которые у меня были:
<c:forEach items="${messages}" var="message">
//display messages here
</c:forEach>
MESSAGES_KEY
- моя константа со значением «messages» (так, чтобы она позже была доступна в цикле forEach).
Класс Message
является простым POJO с этими двумя свойствами. Я использовал его для информационных сообщений, а также для пользовательских ошибок без проверки.
Это довольно нестандартное решение, но, возможно, я не нашел тогда встроенного решения. Гугл немного больше, прежде чем использовать такое решение.