Не може да се извика URL адрес на ресурс на портлет от javascript в liferay6.2

Използвам Liferay Portal 6.2 CE GA3. Трябва да извикам моя персонализиран ресурсен метод на портлет от друг jsp файл на портлет. По-долу е моят код.

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

и моя персонализиран портлет ...

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) не се извиква. Някакви предположения ?


person sooribabu    schedule 26.03.2015    source източник


Отговори (1)


Опитахте ли да извикате своя метод от собствен персонализиран портлет, за да сте сигурни, че вашият saveUserData метод се извиква и няма проблеми?

Моля, опитайте и след това прочетете напред, ако не работи ;-)

serveResource методът винаги се нарича serveResource, а не с друго име като saveUserData, когато използвате MVCPortlet на Liferay.

Не можете да имате множество serveResource методи, тъй като можете да имате методи за действие.

Така че преименувайте метода си на serveResource() и трябва да работи :-)

person Prakash K    schedule 27.03.2015
comment
Пракаш Прав си. Промених името на метода serveResource и също методът ajax за извикване в aui скрипт е A.io.Request(url) ===›› A.io(url). Работи добре. Благодаря ти - person sooribabu; 27.03.2015