2016-11-29 68 views
-1

我無法在Liferay中使用JavaScript創建操作/ portlet url。如何在Liferay中使用JavaScript創建Action/render/portlet URL?

<aui:script use="liferay-util-window,liferay-portlet-url"> 
    var portletURL = Liferay.PortletURL.create(--Nothing shows on IDE autocomplete post this) 
</aui:script> 

編輯: 我使用的Eclipse IDE,但上鍵入「Liferay.PortletURL.create」它不提供任何automcomplete選項來創建任何行動/渲染或與此有關的URL都沒有。 我正在使用Liferay-6.2-ce-GA2插件sdk。

是否沒有自動完成可用於使用javascript創建URL或已被替換爲liferay中的一些新的JS函數?

+0

請解釋「不支持/提供」是什麼意思?你是做什麼?你期望發生什麼以及發生了什麼?你在日誌中看到什麼錯誤? –

回答

0

是否有沒有可用於使用JavaScript自動完成創建網址

沒有自動完成,因爲你可以創建任何URL這種方式。 IDE無法知道在您的特定情況下什麼是合理的建議。

0

您可以創建資源URL,如下所示:

AUI().use('aui-base', 'aui-io-request', 'liferay-portlet-url', function(A) { 
    var A = AUI(); 
    var myResourceURL = Liferay.PortletURL.createResourceURL(); 

    myResourceURL.setResourceId('resourceID'); 

    myResourceURL.setParameter("action","youractionthatwilltriggercontroller");           
A.io.request(myResourceURL.toString(), { 
          method : 'post', 
          dataType : 'text', 

          on : { 
          start : function() { 

           //Your operations 
           }, 
          success : function() { 
            // your operations 
           }, 
            failure : function() { 
            }, 
            complete : function() { 
            }, 
            end : function() { 
            }, 

要創建呈現URL,你可以使用代碼,如下所示:

var url = Liferay.PortletURL.createRenderURL(); 

url.setPortletId(pid); 

url.setParameter("action", "Your-action-to-trigger"); 

url.setPortletMode("view"); 

url.setWindowState("normal"); 

window.location = url.toString(); 

要創建動作URL,只是用:

var url = Liferay.PortletURL.createActionURL(); 

url.setPortletId(pid); 

url.setParameter("action", "your-action"); 

url.setPortletMode("view"); 

url.setWindowState("normal"); 

window.href = url.toString(); 

我希望這是你在找什麼:)

+0

將檢查並確認! –