Adobe CQ5 中是否有获取当前页面 url 以在 JSP 头部创建自动规范链接的标准方法?
基本上我们有一个对话框配置框,您可以在其中覆盖规范链接,但默认情况下,如果这是空的,我想根据当前请求的原始 URL 路径构建链接。
头部的 JSP 在所有请求之间共享。
非常感谢
Adobe CQ5 中是否有获取当前页面 url 以在 JSP 头部创建自动规范链接的标准方法?
基本上我们有一个对话框配置框,您可以在其中覆盖规范链接,但默认情况下,如果这是空的,我想根据当前请求的原始 URL 路径构建链接。
头部的 JSP 在所有请求之间共享。
非常感谢
该${currentPage.path}
变量将为您提供当前资源的父页面的路径,但您应该使用 Externalizer 将其变为面向用户的良好 URL,(即应用您现有的任何映射规则并使用正确的域名,而不是服务器名称,例如prod-server-123
)
IE
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+)