【问题标题】:How to get the website domain name in a component's jsp/html in aem?如何在aem中获取组件的jsp/html中的网站域名?
【发布时间】:2018-03-31 02:05:15
【问题描述】:

我需要在我的组件的jsp/html中使用sightly来获取网站的域名。

假设页面 url 是“https://test.com/en.html”,我只需要获取“https://test.com”。如何在不使用任何 java 代码的情况下实现它?

有什么直接的方法可以用吗?

【问题讨论】:

  • 首先,你不能在JSP中使用。其次,您所要求的将需要 java 或 javascript 来通过 externalizer 服务获取域。

标签: aem


【解决方案1】:

服务器端

如果您想在服务器端获取域名(即,让它显示在初始响应中发送的渲染 HTML 中)。

global objects 可用于 HTL(以前称为Sightly)之一是request 对象。该对象是SlingHttpServletRequest,因此您应该能够使用serverName 属性。 (如果使用<cq:defineObjects> 描述的here,我相信这个对象也可以在JSP 中使用)

${request.serverName}

客户端

如果您想在客户端(即在加载页面的人的浏览器中)获取域名。

您可以在Javascript中使用普通的window.location对象来获取主机名:

<script>
    let domainName = window.location.hostname;
    //do the JS stuff you want to with the domain name
</script>

检查Location docs 以获取window.location 的所有可用属性。

【讨论】:

    猜你喜欢
    • 2014-02-09
    • 2010-11-29
    • 2022-01-10
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多