Liferay钩子调用扩展方法

Liferay钩子调用扩展方法,liferay,Liferay,我在liferay钩子中有一个新操作,理想情况下,它将调用在扩展中创建的方法。但在运行时执行操作时,它会抛出异常 java.lang.ClassNotFoundException 对于在扩展中创建的方法。 有人在liferay hook中创造了类似的动作吗?如果是,如果遇到此问题,解决方案是什么 这是我的密码: public class ExampleStrutsAction extends BaseStrutsAction { public String execute( HttpS

我在liferay钩子中有一个新操作,理想情况下,它将调用在扩展中创建的方法。但在运行时执行操作时,它会抛出异常 java.lang.ClassNotFoundException 对于在扩展中创建的方法。 有人在liferay hook中创造了类似的动作吗?如果是,如果遇到此问题,解决方案是什么

这是我的密码:

public class ExampleStrutsAction extends BaseStrutsAction { 
    public String execute( HttpServletRequest request, HttpServletResponse response) throws Exception {
        String name = ParamUtil.get(request, "name", "World");
        ThemeDisplay themeDisplay= (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY);
        BSCDynamicDataListLocalServiceUtil.cloneDynamicDataListPageInSuborganization(the‌​meDisplay, name);
        return "/portal/sample.jsp"; 
    }
} 
试试下面的代码

hook.xml

<hook>
    <portal-properties>portal.properties</portal-properties>
    <language-properties>
        content/Language.properties
    </language-properties>
    <custom-jsp-dir>/META-INF/custom_jsps</custom-jsp-dir>
    <struts-action>
        <struts-action-path>/my_account/edit_user</struts-action-path>
        <struts-action-impl>com.test.hook.action.EditUserAction</struts-action-impl>
    </struts-action>
    <struts-action>
        <struts-action-path>/users_admin/edit_user</struts-action-path>
        <struts-action-impl>com.test.hook.action.EditUserAction</struts-action-impl>
    </struts-action>

</hook>
}

我已经在控制面板中为EditUserAction创建了上面的钩子
希望它能帮助你

我的操作非常基本,只是尝试调用扩展中的方法,但由于ClassNotFound异常而失败:您可以显示您的非常基本的方法吗。回答时不可能不看到..公共类ExampleStrutAction扩展BaseStrutAction{public String execute(HttpServletRequest,HttpServletResponse)引发异常{String name=ParamUtil.get(请求,“名称”,“世界”);主题显示主题显示=(主题显示)request.getAttribute(WebKeys.THEME\u DISPLAY);BSCDDynamicDataListLocalServiceUtil.CloneDynamicDataListPageInOrganization(主题显示,名称);return“/portal/sample.jsp”;}由于我是一名新成员,所以我无法将其发布在答案中,对不起,在
portal hook.properties
中,您必须注册此hook。您注册了吗?我的java源文件的resources文件夹下有此
portal hook.properties
public class EditUserAction extends BaseStrutsPortletAction
{
    @Override
    public void processAction(final StrutsPortletAction originalStrutsPortletAction, final PortletConfig portletConfig,
            final ActionRequest actionRequest, final ActionResponse actionResponse) throws Exception
    {
        // add your custom code
        originalStrutsPortletAction.processAction(portletConfig, actionRequest, actionResponse);
    }

    @Override
    public String render(final StrutsPortletAction originalStrutsPortletAction, final PortletConfig portletConfig, final RenderRequest renderRequest,
            final RenderResponse renderResponse) throws Exception
    {
        //add your custom code
        return originalStrutsPortletAction.render(portletConfig, renderRequest, renderResponse);
    }