2016-12-27 8 views
4

Slingには、リソース解決を容易にする機能があります。我々が必要とする正確なリソース表現に解決する能力は、コンテンツベースのアプリケーションにおいて非常に有用である。スリングURLにサフィックスを使用する理由

しかし、私は接尾辞の使用が1つの質問を理解できません。

例:

ここ
http://localhost:4502/content/app/mycomponent.large.html/something.html 

、 "something.htmlは" 接尾辞です。私はサフィックスのためにどのような状況で行くのか知りたいですか?セレクタとして情報を渡すのと比較してどのような利点がありますか?

答えて

6

かなり難しい質問ですが、私はそれをちょっと解消しようとします。

ベストプラクティスによれば、セレクタは関数の入力パラメータとして扱われるべきではありません。つまり、セレクタはサーブレット(またはJSPファイル名)を登録するためだけに使用する必要があり、セレクタは指定されたリソースまたは表示方法に関する操作についてスリングに通知する必要があります。

たとえば、/ page/a.htmlというページがあり、モバイルデバイス用に特別な表現があるとします。 /page/a.mobile.htmlでアクセスすると、このページがモバイルフレンドリーな方法で開きます。

一方、サーブレット/ JSPページに追加情報を提供するために通常使用される接尾辞。ただ、TouchUIにエディタインタフェースをチェック:URLは見え

よう

はlocalhost:4502/editor.html /コンテンツ/ pageYouEdit.html

だから、あなたは常に同じページ/editor.htmlに残りますが、サフィックスは編集インタフェースを通知編集するページ。

また別の例: コンテンツを動的にインクルードするための素敵なライブラリ - https://github.com/Cognifide/Sling-Dynamic-Includeがあります。それはいくつかのコンポーネント用に設定されます場合は 、そのページがロードされた後、あなたのコンポーネントは、このように、AJAX呼び出しに含まれています:

パブリッシュ/ pathToThePage/_jcr_content/pathToTheComponentNode.nocache.html //アプリケーション/ pathToTheRenderer

この例では、selectorとsuffixの両方が使用されています。 Selectorは、必要なこのコンポーネントの表現について特別なものを示し、サフィックスは要求されたデータをどのコンポーネントがレンダリングするかを示します。

2

これは、キャッシュ可能な異なるバージョンのリソースを提供するために使用されます。これは、アドビのアーキテクトがAEMの実装で推奨する「Dispatcher」というApache HTTPモジュールとうまく連携します。

http://me.com/page.html/todays_promotion <-- cacheable 

http://me.com/page.html?todays_promotion <-- not cacheable 

リクエストパラメータを使用する2番目の例は、リクエストごとに異なる結果を生成する可能性のある可変リソースとして処理する必要があります。

関連する問題