我有一个页面: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