Java AEM-很明显:数据属性擦除标签上的css
我目前正在为AEM 6.0开发组件,我注意到data sly属性sighly属性的一个非常奇怪的行为,我想知道这是否是其他人已经注意到的东西(可能是一个bug) 以下面的代码为例: 模板(html) 不渲染。 看起来数据属性正在覆盖它,从而将其删除,因为如果我将模板更改为:Java AEM-很明显:数据属性擦除标签上的css,java,html,css,aem,sightly,Java,Html,Css,Aem,Sightly,我目前正在为AEM 6.0开发组件,我注意到data sly属性sighly属性的一个非常奇怪的行为,我想知道这是否是其他人已经注意到的东西(可能是一个bug) 以下面的代码为例: 模板(html) 不渲染。 看起来数据属性正在覆盖它,从而将其删除,因为如果我将模板更改为: <div id="${properties.divId}" data-sly-use.attr="com.something.sightly.promoModel" data-sly-attribute=
<div id="${properties.divId}"
data-sly-use.attr="com.something.sightly.promoModel"
data-sly-attribute="${attr.attributeMap}">
<a **data-sly-attribute="${attr.attributeMap}"**
href="www.example.com"
class="btn btn-transparent"
data-sly-attribute.target="${properties.ckbNewWindow}">
${properties.ctaText}
</a>
</div>
在前面
class="btn btn-transparent"
它在作者和出版商身上表现得非常好
臭虫?
也许有一个我不知道的解决办法?
任何建议都很好
谢谢
尼科拉看来这很可能是预期的行为。以下是一段引自: 属性从左到右解析,属性的最右实例(文字或通过数据sly属性定义)优先于左侧定义的同一属性(字面或通过数据sly属性定义)的任何实例
这意味着,如果属性映射包含
class
属性,那么它将优先于literal类属性(如果它更靠近右侧)。您尝试过XSS上下文吗?以下是文档:Context类似于data-sly-attribute=“${attr.attributeMap@Context='styleString'}”
class="btn btn-transparent"
<div id="${properties.divId}"
data-sly-use.attr="com.something.sightly.promoModel"
data-sly-attribute="${attr.attributeMap}">
<a **data-sly-attribute="${attr.attributeMap}"**
href="www.example.com"
class="btn btn-transparent"
data-sly-attribute.target="${properties.ckbNewWindow}">
${properties.ctaText}
</a>
</div>
data-sly-attribute="${attr.attributeMap}"
class="btn btn-transparent"