One of Tapestry's principles is static structure and dynamic behaviour so
components can't be created at runtime. The MarkupWriter is for writing
HTML, not TML.

Can you do what you want in a tml file instead?


If not, you can do it programatically like this:

Component.tml
-------------
<t:block t:id="block">
        <t:eventlink event="foo">doFoo</t:eventlink>
</t:block>

Component.java
--------------
@InjectComponent
private Block block;

public RenderCommand beginRender() {
        return new RenderCommand() {
                public void render(MarkupWriter writer, RenderQueue queue) {
                        queue.push(new RenderCommand(){
                                public void render(MarkupWriter writer, 
RenderQueue queue) {
                                        // do stuff after the block
                                }
                        });
                        queue.push(typeCoercer.coerce(block, 
RenderCommand.class);
                        queue.push(new RenderCommand(){
                                public void render(MarkupWriter writer, 
RenderQueue queue) {
                                        // do stuff before the block
                                }
                        });
                }
        };
}


--
View this message in context: 
http://tapestry.1045711.n5.nabble.com/Rendering-another-component-inside-a-component-tp5711980p5712003.html
Sent from the Tapestry - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to