gpt4 book ai didi

aem - 在 AEM 6 的 HTL/Sightly 中更改内容

转载 作者:行者123 更新时间:2023-12-01 08:23:39 26 4
gpt4 key购买 nike

这是我长期以来遇到的最奇怪的问题。我有一个在多字段中创作的 URL。 URL 带有下划线,例如。 <强> http://example.net/_pinkPanther_is_pink 目前在 ${item.link}

当我做 <a href="${item.link}">Click</a> <br> ${item.link}并检查,它呈现为

    <a href="http://example.net/__pinkPanther_is_pink">Click</a>

<br> http://example.net/_pinkPanther_is_pink

如果您注意到两个值都来自 Sightly 中的同一个变量,当链接在 anchor 标记的 href 内使用时,天知道在 example.net/之后添加了双下划线

有人知道到底发生了什么吗?

最佳答案

这是由显示上下文感知 XSS 保护引起的。 Sightly/HTL 自动检测 HTL 表达式的显示上下文,使用它在 HTML 页面结构中的位置来检测它。

例如,如果表达式出现在渲染后会生成文本的位置,则称它位于 text 上下文中。如果在属性值中找到它,则称它在 attribute 上下文中,依此类推。关于 htl specification 中上下文的更多信息页面。

在您的示例中,href 属性中的隐式上下文是 uri,而在后一种情况下是 text

为了覆盖此行为,您可以显式设置上下文,如 href="${item.link @context='text'}

关于aem - 在 AEM 6 的 HTL/Sightly 中更改内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49894974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com