Hi Rizwan,

Environment is used when a component wants to pass an object to the
child/embedded component not other way around because of the reasons already
mentioned by Thiago. If you describe the use case may be we can suggest you
a better way.

regards
Taha

On Mon, Jun 20, 2011 at 5:17 PM, Thiago H. de Paula Figueiredo <
thiag...@gmail.com> wrote:

> On Mon, 20 Jun 2011 07:49:01 -0300, Rizwan <rizla2...@gmail.com> wrote:
>
>  Hi
>>
>
> Hi!
>
>  I am trying to access a environment variable in a page.  The variable is
>> pushed onto the environment from the enclosed component.
>> public class PageComponent {
>>
>>        @Inject
>>        private Environment environment;
>>
>>        @BeginRender
>>        Object pushObject() {
>>            try {
>>
>>                        Display display = new Display();
>>
>>                        environment.push(Display.**class, display);
>>        }
>>
>>        @AfterRender
>>        void popObject () {
>>                environment.pop(Display.class)**;
>>        }
>> }
>> I have tried accessing this variable in BeginRender but does not work.  It
>> seems like the AfterRender on the component is being called before the page.
>>
>
> You're describing absolutely correct and expected behavior: your component
> is popping (removing) the Display object from the Environment after is
> rendered, but the page is still rendering, so when the @AfterRender event of
> the page is triggered the object is not there anymore.
>
>
>  Could someone advise on a better way of doing this?
>>
>
> You could not remove the object from the Environment or push and pop the
> object in the page, not in the component.
>
> --
> Thiago H. de Paula Figueiredo
> Independent Java, Apache Tapestry 5 and Hibernate consultant, developer,
> and instructor
> Owner, Ars Machina Tecnologia da Informação Ltda.
> http://www.arsmachina.com.br
>
>
> ------------------------------**------------------------------**---------
> To unsubscribe, e-mail: 
> users-unsubscribe@tapestry.**apache.org<users-unsubscr...@tapestry.apache.org>
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to