在liferay中的每个动作之前命中事件意味着事件前事件

时间:2015-01-06 05:49:29

标签: liferay liferay-6 portlet liferay-ide spring-portlet-mvc

我需要在portlet控制器中调用action方法之前调用一个方法。

所以我在这里使用的钩子如下:

  1. 创建挂钩
  2. 创建一个类并扩展Action。
  3. 覆盖run方法编写我自己的逻辑。
  4. 创建portal.properties文件并添加以下行
  5.   

    servlet.service.events.pre = com.liferay.sample.hook.LoginAction

    1. 指向它liferay-hook.xml
    2. 每件事情都很顺利但是这里的问题是每次页面加载时都会执行创建的钩子,但是我希望只有当我点击任何portlet中的Action按钮(Action urls)时才执行此钩子。

      可以帮我解决一下吗?

      先谢谢。

      Naresh Kallamadi

1 个答案:

答案 0 :(得分:0)

您使用的属性与服务操作相关,服务操作在每个操作之前或之后调用。根据我的经验,每次加载页面时都会发生服务操作。这可以解释您所看到的行为。

要获得更深入的了解,文章Overriding Events and working with preactions and postactions in EXT会有所帮助。

我认为您可能希望深入了解portlet操作和阶段以实现您可能需要的内容。如果您有关于需要帮助的portlet中的确切行为的更多详细信息(您尝试过的代码示例等),请回发。

希望这有帮助。