私は自分のページでAJAX呼び出しを行うときにliferayセッションを延長できるソリューションを探していました。Liferay.session.extend()を使用してliferayセッションを拡張できることがわかりました。これは、AJAX呼び出しを実行するときにLiferayの拡張セッションで見つけました
しかし、extendメソッドを呼び出すことができません。コンソールで、Liferay.sessionが定義されていませんというエラーが表示されます。
何が問題になるのでしょうか?
私は自分のページでAJAX呼び出しを行うときにliferayセッションを延長できるソリューションを探していました。Liferay.session.extend()を使用してliferayセッションを拡張できることがわかりました。これは、AJAX呼び出しを実行するときにLiferayの拡張セッションで見つけました
しかし、extendメソッドを呼び出すことができません。コンソールで、Liferay.sessionが定義されていませんというエラーが表示されます。
何が問題になるのでしょうか?
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-session
Alloy UIを使用して作成されたそのようなモジュールの1つ)の概念があります。
詳細については、このブログとこのドキュメントを参照してください。
これが問題の解決に役立つことを願っています。