【问题标题】:AEM ServerSide JavaScript hostAEM 服务器端 JavaScript 主机
【发布时间】:2015-06-12 21:33:52
【问题描述】:

我试图找到我的应用程序的当前主机以进行一些实现,我经历了不同的 Java 后端对象(资源、请求、resourcePage..),但我找到的所有属性都给了我相对路径。获取发起呼叫的主机的最佳方式是什么?

这是我一直在查看的全局对象列表: http://docs.adobe.com/docs/en/aem/6-0/develop/sightly/global-objects.html

【问题讨论】:

  • Java 还是 JavaScript?它们是完全不同的语言,仅与 90 年代的疯狂营销理念相关。
  • JavaScript,Java 引用是指通过 Java 全局对象可用于 Sightly 的内容。 - 你说的营销理念是什么? :)
  • 释义:“我们应该怎样称呼我们的网络语言?” “Sun 推出了名为 Java 的新 Web 语言,它得到了很多宣传”“让我们为这个名字授权吧”

标签: javascript aem serverside-javascript


【解决方案1】:

如果您尝试通过 java 或 javascript 解析主机,我有点困惑,这就是为什么我会发布这两种解决方案。如果您的意思不是,请扩展您的问题或创建新问题。

Javascript:

window.location.hostname

Java:

org.apache.sling.api.SlingHttpServletRequest request = ...; // you have instance of the request if you are in a context of a servlet
String domain = request.getRemoteHost() // e.g. stackoverflow.com

或者如果您尝试在 Java 中解析某些资源 url,您可以使用 com.day.cq.commons.Externalizer,它可以改编自 org.apache.sling.api.resource.ResourceResolver 并使用中的设置你的地图文件 /etc/map

Externalizer externalizer = resourceResolver.adaptTo(Externalizer.class);
externalizer.externalLink(resourceResolver, Externalizer.PUBLISH, getRequest().getScheme(), "/");

【讨论】:

  • 感谢@d33t,这绝对让我走上了正轨。在“request.getServerName()”中,我通过服务器端得到了我需要的东西。在解析组件的图像路径之前,我需要知道主机,我们的 localhost 环境缺少我们的开发环境的一些功能,这有助于我在呈现正确的内容之前进行检查。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多