无法以编程方式扩展liferay会话

时间:2012-12-31 07:12:54

标签: javascript ajax session liferay

我一直在寻找一种解决方案,当我在页面上进行AJAX调用时,可以使用该解决方案扩展liferay会话。我发现我们可以使用Liferay.session.extend()来扩展liferay会话。我在extend session of Liferay when performing AJAX call

发现了这一点

但是我无法调用extend方法,在控制台中我得到错误Liferay.session没有定义。

会出现什么问题?

1 个答案:

答案 0 :(得分:1)

如果您在JSP中进行调用,则可以在标记<aui:script>内进行调用,如下所示:

<aui:script use="liferay-session">
    Liferay.session.extend();
</aui:script>

或者

<aui:script use="liferay-session">
    function myCustomSessionExtend() {
        Liferay.session.extend();
    }
</aui:script>

或者,如果您使用单独的javascript文件*.js),那么我认为以下内容应该有效:

AUI().use('liferay-session', function(A) {
    Liferay.session.extend();
});

或者

function myCustomSessionExtend() {

    AUI().use('liferay-session', function(A) {
        Liferay.session.extend();
    });

}

从Liferay 6.0开始,Liferay使用Alloy UI作为默认的JavaScript库。 Alloy UI有一个概念沙盒AUI().use (function(A) { ... });创建一个沙箱,即对象的隔离区域)和模块性(它仅在需要时加载模块,因此{ {1}}是使用Alloy UI创建的一个这样的模块。

有关详细信息,您可以查看this blogthis document

希望这有助于解决您的问题。