This looks like an application-wide problem, so I'd create a service that
stored the messages in the Session with two methods. One would get the
messages and removes them from the Session, remove them from the Session
and then return them. The other one would store these messages into the
Session.
On Thu, 06 Jan 2011 14:25:08 -0200, Pierce Wetter <pie...@paceap.com>
wrote:
What's the best practice for pushing and displaying "flash" messages?
It's easy enough for me to add an variable for this:
@Persist("flash")
List<String> messages;
along with associated display HTML to my layout component, but then
getting access to the current layout component from various places
sounds tedious. Plus it probably wouldn't work anyways, because the
flash persistence is by page & nested component id, and so on. So I
guess that means SessionState.
Naively, that would look like this:
@SessionState(create=false)
List<String> messages;
Except Generics are dangerous in SessionState, in fact, SessionState is
dangerous with anything but a custom type. So that means:
@SessionState(create=false)
Messages messages;
With the Messages object wrapping the list. Presumably Messages has to
be serializable. I would have to put an @AfterRender in whatever draws
the messages to clear it.
Seems simple enough, if tedious. But I was wondering if anyone had come
up with a solution they were especially proud of.
Pierce
--
Thiago H. de Paula Figueiredo
Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
and instructor
Owner, Ars Machina Tecnologia da Informação Ltda.
Consultor, desenvolvedor e instrutor em Java, Tapestry e Hibernate
Coordenador e professor da Especialização em Engenharia de Software com
Ênfase em Java da Faculdade Pitágoras
http://www.arsmachina.com.br
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org