Tapestry 5访问页面中使用的其他组件的页面组件/属性

时间:2012-07-29 02:01:04

标签: components tapestry

我正在从Tapestry 3切换到Tapestry 5,我对某些主题感到有些困惑。 在tapestry 3中,可以使用例如:

从同一页面中使用的其他组件访问页面组件/属性
<span jwcid="@RenderBlock" block="ognl:page.components.myMenu"/>  

myMenu已经在html页面中定义如下:

<span jwcid="myMenu@Block">  
  <span jwcid="@MyMenu"/>  
<span/>  

MyMenu组件在其自己的文件中定义。

如何使用Tapestry 5做同样的事情?

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

Tapestry 5具有用于此目的的特殊绑定前缀:

block:foo将参数绑定到

组件:bar使用t将参数绑定到组件:id =&#34; bar&#34;

除此之外,您可以使用@Inject注入块或组件,并公开这些注射的属性。

您的示例可能类似于:

<t:delegate to="block:mymenu"/>

...

<t:block id="mymenu"> ... </t:block>

假设它们都在同一个模板中定义;否则你必须安排参数或属性来将事物联系在一起。