无法在liferay 6.2中从javascript调用portlet资源URL

时间:2015-03-26 14:04:54

标签: javascript ajax liferay-6 liferay-aui

我正在使用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);
});
}
&#13;
&#13;
&#13;

和我的自定义portlet ......

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

这里没有调用serveResource方法(在我的情况下是saveUserData)。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

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

如果不起作用,请尝试然后向前阅读; - )

当您使用Liferay的serveResource时,

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

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

因此,请将您的方法重命名为serveResource(),它应该有效: - )