2

我正在试验 Wicket 和事件溯源。我正在尝试记录用户操作,以便我们可以重放它们或将它们用于测试或演示目的。

你会推荐什么策略?

例如,我可以定义动作类并将它们放在 onsubmit 等中。或者覆盖检票口的所有“动作”组件,例如链接、按钮、文本字段。等等。

有什么好的建议吗?

4

4 回答 4

4

警告:不是问题的解决方案。它可能仅适用于 ajax,但我也不确定。

您可以使用IComponentInstantiationListener来检查创建的新组件以及是否可点击。然后你可以附加一个日志行为。这样,您可以轻松地在一个地方打开和关闭您的日志记录,而不必为每个 Link-、Button 和 Whatnot-class 子类化来进行日志记录。

于 2012-12-31T11:26:45.833 回答
2

使用自 1.2 以来随 Wicket 一起提供的请求记录器(尽管多年来其实现发生了很大变化)。这以(在 6.0 中,请参阅 wicket-extensions)JSON 格式记录请求目标和响应以进行解析。请注意,根据用户数量,这可能会生成笨拙的日志。

于 2013-01-09T17:05:30.380 回答
1

Wicket 本身并没有为这样的事情提供挂钩,但根据您使用的其他技术,您可以在持久层中执行此操作 - 例如使用 JPA 的 @PreRemove、@PreUpdate、@PrePersist。另一种方法是面向方面的编程(AOP)。

于 2012-12-31T12:20:14.743 回答
0

考虑到每个用户操作都是一个 http 请求 ajax 或经典,您可以使用您需要的一些标识符记录每个请求(每个请求都有一个组件路径)。在 Wicket 1.4 中,您扩展了请求周期,在 1.5+ 中添加了请求周期侦听器。

https://cwiki.apache.org/WICKET/requestcycle-in-wicket-15.html

于 2012-12-31T15:37:06.770 回答