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

Not able to extend liferay session programatically

本文关键字:扩展 liferay 会话 方式 编程      更新时间:2023-09-26

我一直在寻找一种解决方案,当我在页面上进行AJAX调用时,我可以使用它来扩展liferay会话。我发现我们可以使用liferay .session.extend()来扩展liferay会话。这是我在星期五的扩展会话中执行AJAX调用时发现的

但是我不能调用扩展方法,在控制台中我得到错误提示。会话未定义。

有什么问题吗?

如果您在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) { ... });创建一个沙盒,即对象的孤立区域)和模块化(它只在需要时加载模块,因此liferay-session是使用Alloy UI创建的一个这样的模块)。

更多信息请查看本博客和本文档。

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