Hi Karthik,

Q1) How does getting components from a different page affect the
render/rewind cycle of the current page?
A1) Doesn't affect the current page AFAIK. But should the included block
need any initialization/cleanup code, these has to go in
pageAttached/pageDetached (not in pageBeginRender/pageEndRender) of the page
where the block was declared.

Q2) What if the Block that comes from another page has some ognl bindings...
A2) Not really sure what you mean. The Block-component neither use any
parameters nor allow any informal parameters.

Q3) What are the best use-cases for such usage?
A3) Whenever you need to reuse some dynamic/static html, it's kind of
"include" directive in JSP.

Regards,

</Firas>

-----Original Message-----
From: Karthik N [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, November 08, 2006 3:19 AM
To: Tapestry users
Subject: Re: Question regarding Block/RenderBlock

Hi James and Firas,

Yes I'm seeing a little light now :)

1) How does getting components from a different page affect the
render/rewind cycle of the current page?
2) What if the Block that comes from another page has some ognl bindings.
How do those get resolved, as I'm now on an entirely different page?
3) What are the best use-cases for such usage?

Thanks, Karthik

On 11/8/06, Firas Adiler <[EMAIL PROTECTED]> wrote:
>
> Hi,
>
> There's IMO an easier way.
>
> Assume
>         HtmlBlocks - the page containing the external block(s)
>         ClientPage - the page that uses those external blocks
>
> In your ClientPage.page you write:
> <inject property="exBlocks" type="page" object="HtmlBlocks" />
>
> And to access these blocks you write:
> ognl:exBlocks.components.theNameOfTheBlock
>
> Hope this helps,
>
> </Firas>
>
>
> -----Original Message-----
> From: James Carman [mailto:[EMAIL PROTECTED]
> Sent: Tuesday, November 07, 2006 1:11 PM
> To: Tapestry users
> Subject: Re: Question regarding Block/RenderBlock
>
> You can create a page that has a bunch of @Blocks in it and you can 
> use those blocks in other pages.  We do that in Trails and it works 
> quite nicely.  Check out the org.apache.tapestry.util.ComponentAddress
> class.  It allows you to "look up" components on other pages.  So, you 
> can use it this way...
>
> public Block getReusableBlockFromAnotherPage() {
>   ComponentAddress addr = new ComponentAddress( 
> "MyReusableBlocksPage", "myReusableBlock" );
>   return ( Block )addr.findComponent(getRequestCycle());
> }
>
> In your page, you'd do this:
>
> <span jwcid="@RenderBlock" block="ognl:reusableBlockFromAnotherPage" 
> />
>
> This is off the top of my head, so the syntax might not be exactly 
> correct, but you get the general idea I hope.  Hope that helps!
>
> On 11/6/06, Karthik N <[EMAIL PROTECTED]> wrote:
> > Hello,
> >
> > "RenderBlock does not mandate that the Block being rendered be 
> > contained within the page being rendered"
> >
> > I have seen this statement at so many places - but I am looking for 
> > an example/explanation of how to do it.
> >
> > Any pointers?
> >
> > Thanks, Karthik
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to