0

私は自分のページでAJAX呼び出しを行うときにliferayセッションを延長できるソリューションを探していました。Liferay.session.extend()を使用してliferayセッションを拡張できることがわかりました。これは、AJAX呼び出しを実行するときにLiferayの拡張セッションで見つけました

しかし、extendメソッドを呼び出すことができません。コンソールで、Liferay.sessionが定義されていませんというエラーが表示されます。

何が問題になるのでしょうか?

4

1 に答える 1

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はデフォルトのjavascriptライブラリとしてAlloyUIを使用します。Alloy UIには、サンドボックス化(サンドAUI().use (function(A) { ... });ボックス、つまりオブジェクトの分離領域を作成する)とモジュール性(必要な場合にのみモジュールをロードするため、liferay-sessionAlloy UIを使用して作成されたそのようなモジュールの1つ)の概念があります。

詳細については、このブログこのドキュメントを参照してください。

これが問題の解決に役立つことを願っています。

于 2012-12-31T13:25:59.433 に答える