gpt4 book ai didi

hook - 在 Hook 环境中添加自定义方法?

转载 作者:行者123 更新时间:2023-12-02 05:29:24 36 4
gpt4 key购买 nike

我正在使用钩子(Hook)将新方法添加到 CalEventLocalServiceImpl 中...

我的代码是..

public class MyCalendarLocalServiceImpl extends CalEventLocalServiceWrapper {

public MyCalendarLocalServiceImpl(CalEventLocalService calEventLocalService) {
super(calEventLocalService);
// TODO Auto-generated constructor stub
}

public List getUserData(long userId) throws SystemException{
DynamicQuery query=DynamicQueryFactoryUtil.forClass(CalEvent.class)
.add(PropertyFactoryUtil.forName("userId").eq(userId));
List deatils=CalEventLocalServiceUtil.dynamicQuery(query);

return deatils;
}
}

liferay-hook.xml:

<service>
<service-type>
com.liferay.portlet.calendar.service.CalEventLocalService
</service-type>
<service-impl>
com.liferay.portlet.calendar.service.impl.MyCalendarLocalServiceImpl
</service-impl>
</service>

我的问题是如何从jsp文件中使用getUserData。谁能帮帮我......

我想你没有明白我的问题...我想要基于日历中的USERID的事件列表...为了完成这个任务我需要做什么?

最佳答案

我假设 getUserData() 没有被覆盖,而是一个新方法(当前无法查找)。这不是您在覆盖服务时可以执行的操作。相反,您必须添加新服务并将其提供给门户。

请记住,自定义(“ Hook ”)jsp 正在门户类加载器中运行,而重载的服务则在 Hook 的类加载器中运行。因此,如果您创建一个新服务并使 service.jar 可用于 Liferay(例如在全局类路径上),您可以从 JSP 调用它。 Liferay服务的接口(interface)无法通过重载服务进行扩展。

如果 getUserData() 已经在界面中(正如我所说,我当前无法查找),您只需从您的 jsp 中调用 CalendarLocalServiceUtil ,它将被委托(delegate)给您的包装器。

关于hook - 在 Hook 环境中添加自定义方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747253/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com