1

tomcat / webappsに外部アプリケーション(htmlページでアクセス)をデプロイし、Liferayセッションと同期しようとしました。問題は、タイムアウトが同期されておらず(web.xmlのsession-timeoutプロパティで指定)、このページにアクセスするときのアクティビティがLiferayに登録されないことです(したがって、タイムアウトがリセットされないため、常にタイミングを合わせていますsession-timeoutプロパティで指定された時間が経過すると、デフォルトで60分になります)。

HTMLページ内でLiferay.Session.extend()を明示的に呼び出しようとしましたが、firebugは、セッションを拡張するためのPOST呼び出しが行われたことを示していますが、Liferayはまだそれを認識していないようです。

任意のアイデアをいただければ幸いです。

ありがとう

4

1 に答える 1

1

Liferayでアプリケーションを操作する場合、別のポートレットに移動しない限り、liferayセッションがリセットされない限り、1つのポートレットで作業していることを意味します。したがって、60分が完了すると、自動的にタイムアウトになります。

ポートレットで何をするにしても、それはLiferayによるajax呼び出しであるため、ソリューションはすべてのajax呼び出しのセッションを拡張しようとします。

次のjqueryスクリプトコードをポートレットのWebページに配置してみてください。

jQuery(document).ready(function(){

    A4J.AJAX.AddListener({
        onafterajax : function(req, evt, data) {
            Liferay.Session.setCookie();
        }
    });
});

幸運を

于 2012-11-16T01:42:14.803 に答える