JavaScript中的Liferay.PortletURL使用/c/portal/layout创建URL
我正在使用Liferay 6.2 CE。我想用Javascript创建一个portlet URL。这是我的密码:JavaScript中的Liferay.PortletURL使用/c/portal/layout创建URL,javascript,liferay-6,Javascript,Liferay 6,我正在使用Liferay 6.2 CE。我想用Javascript创建一个portlet URL。这是我的密码: <aui:script use="liferay-util-window,liferay-portlet-url"> var portletURL = Liferay.PortletURL.createRenderURL(); portletURL.setParameter('action', 'detailCourse'); portletURL.setPa
<aui:script use="liferay-util-window,liferay-portlet-url">
var portletURL = Liferay.PortletURL.createRenderURL();
portletURL.setParameter('action', 'detailCourse');
portletURL.setParameter('id', 10);
console.log("render = " + portletURL.toString());
</aui:script>
但它应该是这样的:
http://localhost:8080/group/backdoor/home?p_p_id=classlistbackdoor_WAR_classlistbackdoor100SNAPSHOT&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_classlistbackdoor_WAR_classlistbackdoor100SNAPSHOT_id=10&_classlistbackdoor_WAR_classlistbackdoor100SNAPSHOT_action=detailCourse
你知道怎么回事吗?根据这一点,Liferay 6.2中进行了更改:
在修复了安全问题之后,不再可能通过JavaScript生成友好的portlet URL
但给出了一个解决方案(至少对JSP有效):
var portletURL=Liferay.portletURL.createURL(
'');
http://localhost:8080/group/backdoor/home?p_p_id=classlistbackdoor_WAR_classlistbackdoor100SNAPSHOT&p_p_lifecycle=0&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_count=1&_classlistbackdoor_WAR_classlistbackdoor100SNAPSHOT_id=10&_classlistbackdoor_WAR_classlistbackdoor100SNAPSHOT_action=detailCourse
var portletURL = Liferay.PortletURL.createURL(
'<%= PortletURLFactoryUtil.create(request,
portletId,
themeDisplay.getPlid(),
PortletRequest.RENDER_PHASE) %>');