Thymeleaf 3将javascript属性转换为小写

时间:2017-01-19 14:02:00

标签: javascript json thymeleaf

我最近将项目从Thymeleaf 2迁移到版本3,我遇到了以下问题:

我有一个<script>包含由内联视图对象填充的变量,这样:

<script th:inline="javascript">
    /*<![CDATA[*/   
    window.gtmEventsDataLayer = /*[[${gtm.events}]]*/'';
    /*]]>*/
</script>

其中${gtm.events}是这样构建的对象列表:

public class GTMEvent {

    private String selector;
    private String DOMEvent;
    private String GTMEvent;
    private String GTMLabel;
}

但是,正在使用转换为小写的对象属性名称呈现页面:

window.gtmEventsDataLayer = [{
    "selector":".gtm-reply-begin",
    "domevent":"click",
    "gtmevent":"R2SEmailBegin",
    "gtmlabel":null
}];

我甚至不确定这是Thymeleaf的内联或我的JSON序列化配置(由Jackson完成,因为这是一个Spring Boot应用程序)的问题,但是因为它在迁移到Thymeleaf 3之前有效,我假设它与新的内联实现有关。

我也尝试在类属性上指定@JsonProperty("DOMEvent"),但在这种情况下,javascript对象包含正确的cased属性和小写的属性,这不是最佳解决方案。

在渲染javascript对象时,是否有一些我缺少强制Thymeleaf保留案例的配置?

0 个答案:

没有答案