我正在尝试获取页面的完整路径,以便将其转换为网址。
到目前为止我已经尝试过,
private static String PAGE = "/content/geometrixx/en/toolbar";
private static String URL_TO_OPEN;
public static String getUrl(Set<String> pages, ResourceResolver resolver){
Resource htmlPage = resolver.getResource(PAGE);
if(htmlPage != null){
URL_TO_OPEN = htmlPage.getPath().concat(StringConstraints.DOT).concat(StringConstraints.HTML);
return URL_TO_OPEN;
}
}
在这种情况下, URL_TO_OPEN = "/content/geometrixx/en/toolbar.html"
但我需要的是,例如“http://localhost:4502/content/geometrixx/en/toolbar.html ”
有人可以帮我解决如何将其改为这种格式吗,即同时获取[主机名]:[端口]?
最佳答案
这可以使用Externalizer OSGi Serive 来完成
在 externalizer 服务配置中添加映射
local http://localhost:4502
author http://localhost:4502
publish http://localhost:4503
获取 URL
String myURL = externalizer.externalLink(resolver, Externalizer.LOCAL, PAGE) + ".html";
这将创建 URL
http://localhost:4502/content/geometrixx/en/toolbar.html
关于java - 如何在AEM中获取页面的完整路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48433291/