【发布时间】:2012-10-04 16:37:43
【问题描述】:
我正在使用一个大型 ZK / Spring 应用程序,我想知道我是否可以以某种方式将跟踪样式日志记录添加到所有 UI 元素,但不向每个单独的元素添加日志语句。 (我希望能够跟踪从 UI 启动的事件。)
谢谢!
【问题讨论】:
我正在使用一个大型 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 !!!
【讨论】:
event.getTarget() 您在寻找哪些具体信息?