-1

AEM プロジェクト(AEM バージョン 6.3)でテンプレート言語として Sightly/HTL を使用しています。Sightly は多くのコンテキスト オブジェクトを提供するため、そのうちの 2 つは org.apache.sling.api.SlingHttpServletRequest に基づく request と javax.servlet.http.HttpSession に基づく currentSession です。以下のようにしてファイルします。

${request.session.attribute @ mySessionAttribute}

また

${currentSession.attribute @ mySessionAttribute}

しかし、その値を取得できません。誰もそれを行う方法について何か考えがありますか?

4

2 に答える 2

1

HTL/Sightly では、パラメーターを使用して任意のメソッドを呼び出すことはできません。これは設計上の制限です。javax.servlet.http.HttpSessionAPI は属性をマップとして公開しないため、それらにアクセスすることはできません${currentSession.attributes['mySessionAttribute']}

script.html <sly data-sly-use.attr="${'attrib.js' @ session=currentSession, name='mySessionAttribute'}">${attr.value}</sly>

attrib.js use(function () { return { value: this.session.getAttribute(this.name) }; });

于 2017-10-10T12:46:51.153 に答える