java - 如何在 ZK 中记录 UI 事件?

标签 java spring logging zk

我正在使用一个大型 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/

相关文章:

java - mockito 不验证我的方法是否被调用

java - Spring Boot JPA 不工作

java - 如何使用 JPA 和 Hibernate 删除多对多表之间的关系

Spring 启动 : read list from yaml using @Value or @ConfigurationProperties

.net - 如何在正常执行时获取 .NET 中的堆栈跟踪?

git - 具有文件状态的 Mercurial 日志格式

java - 如何在运行时检索 JPA 中实体的映射表名称?

java - WAR 文件可以在 tomcat 上运行,但无法安装在 JBoss EAP 5.1 上?

python - 从 pymongo 映射缩减操作记录/打印

java - 如何在 Spring Boot jdbc 存储库中存储和读取属性或 yml 文件中的 SQL 查询?