gpt4 book ai didi

javascript - thymeleaf 内联 javascript 框架问题

转载 作者:行者123 更新时间:2023-11-29 22:10:30 24 4
gpt4 key购买 nike

<script th:inline="javascript" type="text/javascript">
//expose list data to javascript
var listObject = /*[[${listObject}]]*/ [];
</script>

打印到文件中的替换文本与 Jackson 库的 ObjectMapper 所做的不同。

在上面的示例中使用 Thymeleaf,listObject 将是

{
"dataType":{
"$type":"DataType",
"$name":"STRING"
},
"friendlyName":"Customer Key"
}

如果我使用 ObjectMapper(也与 Spring @RequestBody/@ResponseBody 一起使用)打印对象,它将是

{
"dataType":"STRING",
"friendlyName":"Customer Key"
}

有没有办法强制 thymeleaf 与 ObjectMapper 兼容。

最佳答案

我认为this不得不说一下 thymeleaf 中的 Jackson 和 JSON 内联。
总而言之,考虑切换到自定义 TextInliners 的可能性3.0 thymeleaf 里程碑。

因此,目前没有“干净”的方式来切换到 Jackson json 序列化。

然而,您可以做的是潜入您自己的 TextInliner。即:

  1. 创建一个类org.thymeleaf.standard.inliner.StandardJavaScriptTextInliner
  2. 实现您自己版本的formatEvaluationResult(Object) 方法,
    您可以在其中调用 Jackson ObjectMapper。
  3. 将这个新的 StandardJavaScriptTextInliner 类放在适当的位置,以便它在原始类之前加载(例如,在 tomcat 中将它放在正确的包结构下的类目录中)。

关于javascript - thymeleaf 内联 javascript 框架问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18318964/

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