我的 Tapestry5 页面上有 2 个单选按钮,我想在值更改时更新区域:
<t:radio t:id="allDay" t:mixins="zoneUpdater" t:event="allDayChanged" t:clientEvent="change" zone="timeRecZone"/>
<t:radio t:id="timeRestricted" t:mixins="zoneUpdater" t:event="timeRestrictedChanged" t:clientEvent="change" zone="timeRecZone"/>
<t:zone t:update="show" elementName="div" t:id="timeRecZone" id="timeRecZone">
<t:if test="timeRestrictedSelected">
.
.
.
我正在使用已知的 zoneUpdater mixin,它适用于我页面其他位置的文本字段。但是在这里,我并没有真正看到 timeRecZone 得到更新,因为没有显示 IF 条件下的区域,并且当我单击收音机时,我没有看到以下语句被记录。
public boolean isTimeRestrictedSelected() {
log.info("***** isTimeRestrictedSelected...");
return selectedTimeRestriction == TimeRestriction.TIME_RESTRICTED;
}
这部分(更改事件)虽然有效:
public void onAllDayChanged() {
selectedTimeRestriction = TimeRestriction.ALL_DAY;
log.info("***** allDayChanged called: " + selectedTimeRestriction);
}
public void onTimeRestrictedChanged() {
selectedTimeRestriction = TimeRestriction.TIME_RESTRICTED;
log.info("***** timeRestrictedChanged called: " + selectedTimeRestriction);
}
有人在使用无线电/区域更新时遇到过这种情况吗?非常感谢。