从javascript liferay传递参数

时间:2013-05-15 04:36:50

标签: java javascript jsp java-ee liferay

使用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();

1 个答案:

答案 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
} );