4

JSPのヘッドに自動正規リンクを作成するために、Adobe CQ5で現在のページURLを取得する標準的な方法はありますか?

基本的に、正規リンクをオーバーライドできるダイアログ構成ボックスがありますが、デフォルトでこれが空の場合、現在のリクエストの未加工の URL パスに基づいてリンクを作成したいと考えています。

ヘッドの JSP はすべてのリクエストで共有されます。

どうもありがとう

4

1 に答える 1

11

この${currentPage.path}変数は、現在のリソースへの親ページのパスを提供しますが、Externalizer を使用して、これを適切なユーザー向け URL にする必要があります (つまり、適切なマッピング ルールを適用し、正しいドメイン名を使用します)。 、サーバー名ではなく、例prod-server-123)

すなわち

ResourceResolver resourceResolver = request.getResourceResolver();
Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
String canonicalUrl = externalizer.publishLink(resourceResolver, "http", currentPage.getPath());

Felixを介して、またはosgi:Configリポジトリ内のノードを介して、エクスターナライザーがベース URL として扱うものをカスタマイズできます。詳細については、Adobe サイトの公式ドキュメントを参照してください。

(Externalizer は CQ5.5+ であることに注意してください)

于 2013-10-24T17:46:39.393 に答える