[Tapestry4] ResponseBuilder.updateComponent 没法正确更新PropertySelection?

SilverRing 2007-04-26
大家好,最近在看tapestry 4.1的ajax部分,用到了EventListener和ResponseBuilder。我想实现的一个功能是通过一个下拉框A动态加载另一个下拉框B的内容。实现代码类似这样:

@EventListener(targets="A", events="onchange", submitForm ="form")
public void selectA(IRequestCycle cycle) {
    bModel = .... New model for b based on value of A ....
    cycle.getResponseBuilder().updateComponent("b");
}

可以看到bModel已经更新,但是下拉框B内容还是为空。

请指教!
pppppp 2007-04-27
<span jwcid="b@Any">下拉框b</span>
SilverRing 2007-05-03
谢谢pppppp的答复。

我为下拉框B定义了一个FieldLabel,这样验证失败的时候,B的label可以显示为红色。没想到正是这个FieldLabel出了问题。按照pppppp的方法若将B和它的FieldLabel一块儿用span包起来,下拉框可以更新,但是render出来的页面格式有问题。只能把FieldLabel去掉,用@Any的span单包住下拉框。
Global site tag (gtag.js) - Google Analytics