我正在从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做同样的事情?
感谢您的帮助。
答案 0 :(得分:0)
Tapestry 5具有用于此目的的特殊绑定前缀:
block:foo将参数绑定到
组件:bar使用t将参数绑定到组件:id =&#34; bar&#34;
除此之外,您可以使用@Inject注入块或组件,并公开这些注射的属性。
您的示例可能类似于:
<t:delegate to="block:mymenu"/>
...
<t:block id="mymenu"> ... </t:block>
假设它们都在同一个模板中定义;否则你必须安排参数或属性来将事物联系在一起。