Java 如何在ZK中记录UI事件?
我正在使用一个大型ZK/Spring应用程序,我想知道我是否能够以某种方式将跟踪样式的日志记录添加到所有UI元素中,但不向每个元素添加日志语句。(我希望能够跟踪从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
谢谢 假设您希望在服务器端记录所有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 !!!