Java 如何在ZK中记录UI事件?

Java 如何在ZK中记录UI事件?,java,spring,logging,zk,Java,Spring,Logging,Zk,我正在使用一个大型ZK/Spring应用程序,我想知道我是否能够以某种方式将跟踪样式的日志记录添加到所有UI元素中,但不向每个元素添加日志语句。(我希望能够跟踪从UI启动的事件。) 谢谢 假设您希望在服务器端记录所有UI事件,请实现如下 import org.zkoss.zk.ui.event.Event; import org.zkoss.zk.ui.util.EventInterceptor; public class LogEventInterceptor implements Even

我正在使用一个大型ZK/Spring应用程序,我想知道我是否能够以某种方式将跟踪样式的日志记录添加到所有UI元素中,但不向每个元素添加日志语句。(我希望能够跟踪从UI启动的事件。)


谢谢

假设您希望在服务器端记录所有UI事件,请实现如下

import org.zkoss.zk.ui.event.Event;
import org.zkoss.zk.ui.util.EventInterceptor;

public class LogEventInterceptor implements EventInterceptor {

public Event beforeProcessEvent(Event event) {
    System.out.println(event.getName() + " event received for + "
            + event.getTarget().getId() + "!!!");
    return event;
}
// rest of the impl
<window border="normal" title="Intercepting UI Events demo">
    <button id="helloBtn" label="Click me to Say hello"
        onClick='alert("Hello !!!")'>
    </button>
</window>
然后在zk.xml中对其进行如下配置(有关更多详细信息,请参阅)


非常感谢你!它工作得很好。您知道是否可以使用afterProcessEvent()查找事件的发送位置吗?事件通常会被发布/发送到目标组件,甚至在beforeProcessEvent中,您也可以通过事件对象(如
event.getTarget()
您要查找的具体信息)访问目标组件信息?
<window border="normal" title="Intercepting UI Events demo">
    <button id="helloBtn" label="Click me to Say hello"
        onClick='alert("Hello !!!")'>
    </button>
</window>
onClick event received for + helloBtn !!!