情况很简单:我有几个ajax组件,我想在发生ajax操作时更新它们。当所有这些组件都在同一个位置并且可以彼此接触时,这是很容易的。
但是如果页面有一个巨大的层次结构,这就不是那么简单了,为了解决这个问题,我想发送一些全局事件(其中将包含一个ipartialagerequesthandler),所有这些组件都应该捕获它并自己更新。
我怎么能在维克特做到这一点?
实际上我明白了 onEvent
方法,我可以访问其中的iPartialAggerRequestHandler:
public void onEvent(IEvent<?> event){
Object payload = event.getPayload();
if (payload instanceof IPartialPageRequestHandler) {
...
}
}
但是,如何创建该方法捕获的全局事件呢?
2条答案
按热度按时间oaxa6hgo1#
您可以通知整个页面或应用程序“page.send(…)”或“application.send(…)”。wicket已经为每个ajax事件通知了整个页面层次结构。请参见《用户指南》中的本段结尾:
https://ci.apache.org/projects/wicket/guide/8.x/single.html#_how_to_use_ajax_components_and_behaviors
mitkmikd2#
创建自定义事件,例如:
在ajax回调方法中:
在与此事件相关的任何组件/行为中,请执行以下操作: