多个Ajax调用liferay Portlet

多个Ajax调用liferay Portlet,liferay,portlet,Liferay,Portlet,我正在使用liferay portlet,我需要严重依赖AJAX调用。所以我需要多次调用ServerSource方法。一种方法是,我可以通过URL传递一个参数,然后根据该参数区分请求 但在我的例子中,我不得不多次调用ServerSource,因此该方法将很难维护。 是否有这样做的框架?使用它,代码变得可维护。使用Spring MVC框架,并根据您在controller中的业务逻辑/用户操作调用不同的方法 试试下面的代码 在jsp中 希望上面的代码片段能帮助你得到你想要的 在此添加更多内容。我们不

我正在使用liferay portlet,我需要严重依赖AJAX调用。所以我需要多次调用ServerSource方法。一种方法是,我可以通过URL传递一个参数,然后根据该参数区分请求

但在我的例子中,我不得不多次调用ServerSource,因此该方法将很难维护。
是否有这样做的框架?使用它,代码变得可维护。

使用Spring MVC框架,并根据您在controller中的业务逻辑/用户操作调用不同的方法

试试下面的代码 在jsp中


希望上面的代码片段能帮助你得到你想要的

在此添加更多内容。我们不能像
processAction
那样使用
serversource
方法。在单个liferay portlet(不是spring mvc portlet)中可以有多个processAction,而在
serveReource
的情况下,它将是单个的

serveResource
主要用于ajax调用。通过使用资源Id区分调用,我们可以在
serveResource
方法中处理多个ajax请求

resourceRequest.getResourceID()
将返回我们在jsp中使用以下代码定义的Id

<portlet:resourceURL var="demoUrl" id="demoUrl"></portlet:resourceURL>


您可以使用Spring MVC。谢谢您的回答。我们只打算这样做。。虽然已经做出了使用spring MVC的决定,但也非常感谢您的投入。:-)
AUI().ready(
        function(A) {            
            A.use('aui-io-request', 
                    function(aui) {
                    A.io.request("<%=loadContents%>", {
                        autoLoad : false,
                        cache : false,
                        dataType : 'json',
                        data:{},
                        method:'POST',
                        on : {
                            success : function(event, id, xhr) {
                                var response = this.get('responseData');
                                 // add logic here after response
                            }
                        }
                    }).start();
                });
        });
    @ResourceMapping("loadCategories")
    public void loadCategories(final ResourceRequest resourceRequest, final ResourceResponse resourceResponse)
    {
         // your business logic goes here
    }

    @ResourceMapping("loadContents")
    public void loadContents(final ResourceRequest resourceRequest, final ResourceResponse resourceResponse)
    {
         // your business logic goes here
    }
<portlet:resourceURL var="demoUrl" id="demoUrl"></portlet:resourceURL>