Java 如何获取Tapestry 5组件中父封闭器的clientId?

Java 如何获取Tapestry 5组件中父封闭器的clientId?,java,components,tapestry,Java,Components,Tapestry,我正在Taperstry 5下开发一个ExtJS组件模型。我尝试实现以下API(.tml代码): 为了编写ddd.add(contentBody)子组件contentBody应该知道所包含的ddd组件的clientId 我怎样才能得到它?请告知。您应该能够使用@InjectContainer注入组件的直接容器,并获取其客户端ID: @InjectContainer private ClientElement container; @AfterRender void addScript() {

我正在Taperstry 5下开发一个ExtJS组件模型。我尝试实现以下API(.tml代码):

为了编写
ddd.add(contentBody)
子组件
contentBody
应该知道所包含的
ddd
组件的clientId


我怎样才能得到它?请告知。

您应该能够使用@InjectContainer注入组件的直接容器,并获取其客户端ID:

@InjectContainer
private ClientElement container;

@AfterRender
void addScript() {
    String containerClientId = container.getClientId();
    //pass client ID to JavaScript
}
Tapestry.onDOMLoaded(function() {
var ddd = Ext.create('Ext.container.Viewport', {
  "id" : "ddd",
  "layout" : "border",
  "width" : 500
});
var contentBody = Ext.create('Ext.panel.Panel', {
  "id" : "contentBody",
  "title" : "Content Body"
});
ddd.add(contentBody);
});
@InjectContainer
private ClientElement container;

@AfterRender
void addScript() {
    String containerClientId = container.getClientId();
    //pass client ID to JavaScript
}