You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Sebastian HennebrŸüder <he...@laliluna.de> on 2009/08/25 14:06:57 UTC

How to improve my message component

Hello,
I was missing a t:messages component as I want to show 'entry was 
deleted' 'entry was saved ...' messages directly or after a redirect.

I wrote my own one but it is not very beautiful. It uses a application 
state object stored into the session 'MessageStore'. I inject the 
message store into my page class, add messages and the component reads 
the messages. The reading of the messages deletes them from the store.

Currently, I need to inject two objects into a page class
@SessionState(create = true)
    private MessagesStore messagesStore;

    @Inject
    private Messages messages;

public Object onSuccess(){
            messagesStore.textMessage(messages.get("foo"));
 return null;
}

I would like to inject only one object and use it like
  messageStore.message("foo");
in order to get the "foo" message from the resources.

Do you have any ideas how to achieve this?

Best Regards

Sebastian Hennebrueder

Below you can find the component class.


The component class
public class Messages {

    @SessionState
    private MessagesStore messagesStore;

    private List<String> messages;

    @Property
    private String message;

    @BeginRender
    boolean beginRender(){
        if(messagesStore.empty())
                return false;
        messages = messagesStore.getMessages();
        return true;
    }

    public List<String> getMessages() {
        return messages;
    }
}
Component template
<body xmlns="http://www.w3.org/1999/xhtml"
            xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd">

<ul class="messages">
    <t:loop source="messages" value="message">
        <li>${message}</li>
    </t:loop>
</ul>
</body>


-- 
Best Regards / Viele Grüße

Sebastian Hennebrueder

-----
http://www.laliluna.de
Laliluna.de, Berliner Strasse 22, 61118 Bad Vilbel, Germany

* Java Software Development, Support
* Training for Hibernate, EJB3 and Spring
* Tutorials for JSP, JavaServer Faces, Struts, Hibernate and EJB