0

使用 IPC 我正在调用另一个 portlet

我的问题是我想从隐藏字段中传递值。

但是如果我分配 jsp 脚本

<%! 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();
4

1 回答 1

0

如果您使用 IPC 使用 liferay javascript api,那么下面的代码可以帮助您,

调用 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
} ); 
于 2013-06-14T06:37:03.380 回答