我正在使用一个大型 ZK/Spring 应用程序,并且想知道是否可以以某种方式向所有 UI 元素添加跟踪样式日志记录,但无需向每个单独的元素添加日志语句。 (我希望能够跟踪从 UI 发起的事件。)
谢谢!
最佳答案
假设您想在服务器端记录所有 UI 事件,请实现 EventInterceptor像这样
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
然后在 zk.xml 中进行如下配置(请参阅 here 了解更多详细信息)
<listener>
<listener-class>foo.LogEventInterceptor</listener-class>
</listener>
对于像这样的简单 zul 文件
<window border="normal" title="Intercepting UI Events demo">
<button id="helloBtn" label="Click me to Say hello"
onClick='alert("Hello !!!")'>
</button>
</window>
然后点击 helloBtn 将在服务器控制台上生成以下日志
onClick event received for + helloBtn !!!
关于java - 如何在 ZK 中记录 UI 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12731813/