I have a 2 nested component. I pass Parameters Using @Environmental service.
Code in Outer Component: void beginRender() { environment.push(MyData.class, data); } void afterRender() { environment.pop(MyData.class); } Code in inner Component @Environmental private MyData data; It works well. Then I want to put my first component in an ProgressiveDisplay, When should I call environment.push() ? I try like this: In my outer Component: @OnEvent(EventConstants.PROGRESSIVE_DISPLAY) void onLoad() { environment.push(MyData.class, getData()); } I think this would work, but if it works, where should I call environment.pop()? I got an Error: org.apache.tapestry5.ioc.util.UnknownValueException No object of type org.test.MyData is available from the Environment. availableValues Environmentals: org.apache.tapestry5.RenderSupport org.apache.tapestry5.ValidationDecorator org.apache.tapestry5.internal.services.DocumentLinker org.apache.tapestry5.services.ClientBehaviorSupport org.apache.tapestry5.services.FormSupport org.apache.tapestry5.services.Heartbeat org.apache.tapestry5.services.javascript.JavaScriptSupport org.test.MyData It's strange that It says MyData not found, but there are MyData in availableValues. Many Thanks. -- Bo Gao eli...@gmail.com