Java tapestry 5.1中的AjaxResponseRenderer
我在Tapestry 5.1的一个项目中工作 我在注入AjaxResponseRenderer时遇到问题,因为它在Tapestry 5.1中不存在 下面是我想做的Myclass.java 我无权升级Tapestry版本Java tapestry 5.1中的AjaxResponseRenderer,java,ajax,tapestry,Java,Ajax,Tapestry,我在Tapestry 5.1的一个项目中工作 我在注入AjaxResponseRenderer时遇到问题,因为它在Tapestry 5.1中不存在 下面是我想做的Myclass.java 我无权升级Tapestry版本 您能告诉我如何用另一种方法做到这一点吗?使用时有问题吗?AjaxResponseRenderer应该做同样的事情,因为5.3我对MultiZoneUpdate做了一些研究,但我找不到任何例子,所以我尝试通过调用MultiZoneUpdate.add(“idZone”,Obj)来
您能告诉我如何用另一种方法做到这一点吗?使用时有问题吗?AjaxResponseRenderer应该做同样的事情,因为5.3我对MultiZoneUpdate做了一些研究,但我找不到任何例子,所以我尝试通过调用MultiZoneUpdate.add(“idZone”,Obj)来做与AjaxResponseRenderer相同的事情,但它没有“t work我认为您需要从事件处理程序返回
MultiZoneUpdate
的实例,而不是像AjaxResponseRenderer那样将区域添加到实例中。可以在tapestry源代码中找到您版本的示例,即:
@Inject
private AjaxResponseRenderer ajaxResponseRenderer;
void onValueChangedFromCarMake(String carMake) {
// A new make has been chosen - clear the model.
carModel = null;
carModels = NO_MODELS;
// Show the models of the chosen make.
if (carMake != null) {
if (carMake.equals(MAKE_HONDA)) {
carModels = HONDA_MODELS;
}
else if (carMake.equals(MAKE_TOYOTA)) {
carModels = TOYOTA_MODELS;
}
}
if (request.isXHR()) {
ajaxResponseRenderer.addRender(carModelZone);
}
}