我在Liferay community中也问过同样的问题,但没有答案,所以我在这里尝试:)
每次用户从文档库下载文件时,我都需要执行一个操作/调用一个方法,为了简单起见,每次用户单击直接文件链接时,我都会说一个System.out.println(“文件已下载”)。
你知道我该如何做到这一点吗?我使用的是LR 6.0.6 CE,我真的会尽量避免EXT环境...任何关于如何用钩子实现这一点的想法都将不胜感激!
我正在考虑在JSP (onClick)上添加一些调用System.out.println()函数的javascript,但不确定是否可行。
我想到了动作钩子,模型监听器,重写服务...你认为最好的方法是什么?
发布于 2012-12-17 19:00:47
我已经找到了一种方法来实现这一点:为DLFileEntry模型创建一个模型侦听器并覆盖方法"onAfterUpdate",每次下载文档时都会触发该方法,因为它会更改readcount变量的值。
发布于 2012-12-17 23:34:57
为了添加业务逻辑,您应该查看此服务的DLFileEntryLocalService和包装器,而不是模型侦听器。模型侦听器用于与持久性相关的修复,但不能添加任意的新逻辑-这在*LocalService包装器中更好,因为*LocalService完全是关于业务逻辑的。
这需要一个钩子,你最好不要使用ext --这不是必需的,而且你会遇到比钩子更多的升级问题。
https://stackoverflow.com/questions/13761216
复制相似问题