在 Adobe CQ5 中获取当前页面 URL 以获取规范链接


Adobe

CQ5 中是否有一种标准方法来获取当前页面 url 以便在 JSP 的头部创建自动规范链接?

基本上我们有一个对话框配置框,您可以在其中覆盖规范链接,但默认情况下,如果为空,我想根据当前请求的原始 URL 路径构建链接。

头部的 JSP 在所有请求之间共享。

非常感谢

${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 网站上的官方文档中阅读更多信息。

(请注意,外部器是 CQ5.5+)

最新更新