Interesante. He encontrado esto en un viejo proyecto mío .:
(esto fue un controlador de base, pero bien podría ser un método de utilidad)
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);
}
y luego en una messages.jsp
que fue incluido en todas las páginas que tenía :
<c:forEach items="${messages}" var="message">
//display messages here
</c:forEach>
MESSAGES_KEY
es una constante de mina con un valor de "mensajes" (de modo que es más tarde accesible en el bucle forEach).
La clase Message
es un POJO simple con esas dos propiedades. Lo usé para mensajes de información así como también para errores personalizados sin validación.
Esta es una solución bastante personalizada, pero quizás no había encontrado una solución incorporada. Google un poco más antes de usar una solución de este tipo.
Gracias por el anwersd. Como veo, no existe una matriz estándar como existe, por ejemplo, en Struts. Ya había considerado la opción que ambos habían propuesto, aunque tenía la duda de si había alguna característica especial en Spring que pudiera manejar esto. – Javi