无法从 liferay6.2 中的 javascript 调用 portlet 资源 url

Unable to call portlet resource url from javascript in liferay6.2

我正在使用 Liferay Portal 6.2 CE GA3 我需要从另一个 portlet jsp 文件调用我的自定义 portlet 资源方法。下面是我的代码。

<a href ="#" onclick="myfunction('sometext')">Click here </a>

<script>
function myfunction(myVar){

AUI().use('aui-base','aui-io-request','liferay-portlet-url','aui-node',function(A){
     var url = Liferay.PortletURL.createResourceURL();
    url.setPortletId("MyCustomPortletId");
    url.setResourceId('saveUserData');
    A.io.request(url);
});
}

和我的自定义 portlet ...

public class MyCustomPortlet extends MVCPortlet{
 public void saveUserData(ResourceRequest resourceRequest,
   ResourceResponse resourceResponse) throws IOException,
   PortletException {
  System.out.println("in save UserData");
  
 }
render method----
}

这里没有调用 serveResource 方法(在我的例子中是 saveUserData )。有什么建议吗?

您是否尝试从您自己的自定义 portlet 调用您的方法以确保您的 saveUserData 方法被调用并且没有问题?

请尝试,如果不起作用,请继续阅读;-)

当您使用 Liferay 的 MVCPortlet.

时,

serveResource 方法始终命名为 serveResource 而不是任何其他名称 saveUserData

您不能有多个 serveResource 方法,因为您可以有操作方法。

所以将您的方法重命名为 serveResource(),它应该可以工作:-)