如何从我自己的portlet调用liferay struts动作?

时间:2012-10-11 08:37:07

标签: struts liferay

我定义了一个editPortletURL

PortletURL redirectURL = renderResponse.createRenderURL();
redirectURL.setWindowState(LiferayWindowState.POP_UP);
redirectURL.setParameter("struts_action", "/asset_publisher/add_asset_redirect");
editPortletURL.setParameter("redirect", redirectURL.toString());

editPortletURL.setParameter("originalRedirect", redirectURL.toString());
editPortletURLString = editPortletURL.toString();
editPortletURLString = HttpUtil.addParameter(editPortletURLString, "doAsGroupId", assetRenderer.getGroupId());
editPortletURLString = HttpUtil.addParameter(editPortletURLString, "refererPlid", plid);    

我从我的portlet中调用edit_article.jsp。我会,如果我点击“发布”按钮,我应该转发到指向/asset_publisher/add_asset_redirect struts动作的jsp页面。 此操作映射到add_asset_jsp。此页面将触发Liferay.fire (closeWindow) event,它应关闭弹出窗口并刷新我的portlet。 但如果我尝试这样做 - 我在弹出窗口中看到我的portlet ......

如何在我自己的portlet中引用/包含Liferay操作类?

1 个答案:

答案 0 :(得分:2)

如果您在liferay 6.1中工作,那么您可以简单地使用动作钩来满足您的要求。请查看以下链接

http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/other-hooks

http://www.liferay.com/documentation/liferay-portal/6.1/development/-/ai/performing-a-custom-acti-4