2012-12-07 5 views
2

내가 Liferay community에 있지만 답변과 같은 질문을했습니다 문서 다운로드에 방법을 실행 파일을 문서 라이브러리에서 가져 와서 간단히하기 위해 사용자가 직접 파일 링크를 클릭 할 때마다 System.out.println ("파일이 다운로드되었습니다")이라고 말하고 싶습니다.을 Liferay 문서 라이브러리 : 여기 시도 할 수 있도록 :</p> <p>을 때마다 사용자가 다운로드 내가 방법을/작업을 수행 호출 할 필요가

나는 이것을 어떻게 달성 할 수 있는지 알고 있습니까? LR 6.0.6 CE를 사용하고 있으며 실제로 EXT 환경을 피하려고합니다 ... 후크를 사용하여이를 수행하는 방법에 대한 아이디어는 많이 감사하겠습니다 !!

System.out.println() 함수를 호출하는 JSP (onClick)에 자바 스크립트를 추가하려고했지만 가능한 경우 확실하지 않았습니다.

나는 액션 후크, 모델 리스너, 서비스 오버라이드에 대해 생각했다. 가장 좋은 방법은 무엇이라고 생각하니?

답변

2

DLFileEntry 모델에 대한 모델 수신기를 작성하고 "onAfterUpdate"메소드를 대체하는 방법을 찾았습니다.이 메소드는 readcount 변수의 값을 변경하기 때문에 문서를 다운로드 할 때마다 트리거됩니다.

+0

은 현재 상황에 대한 실현 가능한 솔루션처럼 들립니다. –

2

비즈니스 로직을 추가하려면 모델 수신기 대신 DLFileEntryLocalService과이 서비스의 래퍼를 찾아야합니다. 모델 리스너는 지속성 관련 픽스를위한 것이지만, 임의의 새로운 로직을 추가하는 것은 아닙니다. *LocalService은 비즈니스 로직에 관한 것이기 때문에 *LocalService 래퍼에서 더 나은 점이 있습니다.

여기에는 후크가 필요합니다. 여기에서 벗어나지 마세요. 필요하지 않습니다. 후크보다는 업그레이드 문제가 더 많습니다.