我有一個頁面:Test.tml包含一個選擇和組件:動作時從容器觸發如何更新組件內的區域
<t:zone t:id="zone1" t:clientId="zone1">
<form t:id="form" id="form" method="post">
<p>
<select t:type="select" t:id="simpleSelect" t:clientId="simpleSelect" t:value="simpleSelect" t:model="selectList" t:zone="zone1" />
</p>
</form>
<div t:type="SimpleTestComponent" t:id="simpleTestComponent" ></div>
</t:zone>
在Test.java,我趕上事件:
@OnEvent(value = EventConstants.VALUE_CHANGED, component = "simpleSelect")
public Object changeOnSelect(String value) {
return zone1.getBody();
}
其中井更新zone1的
,我有其還包含一個選擇和更新的區域的部件;組件選擇的內容取決於容器選擇表單值,所以我需要更新組件的內容。如果我的組件內沒有區域,它運行良好,但事實並非如此。
內部SimpleTestComponent.tml,我有:
<form t:id="form" id="form" method="post">
<p>
<select t:type="select" t:id="nameSelect" t:clientId="nameSelect" t:value="nameSelected" t:model="nameList" t:zone="zoneComponent"/>
</p>
</form>
<t:zone t:id="zoneComponent" t:clientId="zoneComponent">
<p>${nameSelected}</p></t:zone>
和SimpleTestComponent.java =>
@OnEvent(value = EventConstants.VALUE_CHANGED, component = "nameSelect")
public Object valueChanged() {
return zoneComponentId.getBody();
}
我趕選擇變化,以及i更新值。
我現在想要的是,當選擇從Test.tml更改時,也能夠更新SimpleTestComponent的內容。如果我在zone1中包含simpleTestComponent,我有一個錯誤,關於simpleTestComponent內的區域,當我觸發Test.java中的valueChanged事件時,我帶着zone1和組件區域(我在區域組件上放置了一個公共getter)時返回MultiZoneUpdate。 ,我也有一個錯誤,那麼解決方案是什麼......?
我不確定完全清楚,thx閱讀。 :)
我使用tapestry 5.2.4 – Antoine 2010-12-23 16:22:44