使用IPC我正在调用另一个portlet
我的问题是我想从隐藏字段中传递值。
但如果我分配jsp scriplets
<%! public String projectid= "300015"; %>`
<portlet:param name="projectid" value="<%= projectid%>" />
工作正常。
但是我需要传递隐藏字段中的值:
<input type="text" name="hiddenprojectidBox" id="hiddenprojectidBox">
位于<%= projectid%>
问题解决了。它可能会帮助别人。不需要隐藏的字段
var portletURL = new Liferay.PortletURL('ACTION_PHASE');
portletURL.setWindowState("maximized");
portletURL.setPortletId("apseprojectmgmtportlet_WAR_apseprojectmgmtportlet")
portletURL.setParameter("_spage", "/apse-projectmgmt-portlet/apse-projectmgmt-portlet/projectCostingSheetAction2");
portletURL.setPortletMode('view');
portletURL.setParameter("projectid", projectid);
portletURL.setParameter("limit", 10);
portletURL.setParameter("offset", 0);
document.getElementById('myForm').action =portletURL.toString();
document.getElementById('myForm').submit();
答案 0 :(得分:0)
如果你使用liferay javascript api使用IPC,那么下面的代码可以帮助你,
调用portlet javascript,
Liferay.fire('UPDATE_PROJECT', {
projectId : A.one('<portlet:namespace />hiddenprojectidBox'),
});
接收portlet javascript
Liferay.on('UPDATE_PROJECT', function(data) {
// When event is being executed, getState of the selected countryCode via ajax call using resourceURL
//data.projectId will give the value of the project id passed from calling portlet
} );