Liferay Action Hook:如何指定tile重定向?

时间:2015-12-14 09:57:03

标签: liferay liferay-6

我按照官方文档创建了Liferay 6.2钩子,一切正常。

现在我需要它,在渲染阶段和几个条件下,我的用户将重定向到特定的磁贴。

原始Liferay render方法说:

return actionMapping.findForward("portlet.journal.error");

在我的课程中(扩展BaseStrutsPortletAction),render方法无法访问任何actionMapping个实例。

那么......我怎样才能在班上获得相同的行为?

我的代码说:

    @Override
    public String render(
            StrutsPortletAction originalStrutsPortletAction,
            PortletConfig portletConfig, RenderRequest renderRequest,
            RenderResponse renderResponse)
        throws Exception {

        Boolean myCondition = .......;

        if (myCondition) {
            // WHAT SHOULD I DO HERE?
            //return actionMapping.findForward("portlet.journal.error");
        }
        return originalStrutsPortletAction.render(
            null, portletConfig, renderRequest, renderResponse);

    }

谢谢

1 个答案:

答案 0 :(得分:1)

您只需要返回正向名称即可。

而不是actionMapping.findForward("portlet.journal.error"),只返回"portlet.journal.error"

com.liferay.portal.struts.PortletActionAdapter#render调用

BaseStrutsPortletAction#render方法,该方法使用结果调用actionMapping.findForward(...)