Java AEM-很明显:数据属性擦除标签上的css

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=

我目前正在为AEM 6.0开发组件,我注意到data sly属性sighly属性的一个非常奇怪的行为,我想知道这是否是其他人已经注意到的东西(可能是一个bug)

以下面的代码为例:

模板(html)

不渲染。 看起来数据属性正在覆盖它,从而将其删除,因为如果我将模板更改为:

<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"