当前位置: 首页 > 知识库问答 >
问题:

如何使用thymeleaf在html文件的js部分中输出json字符串

谷梁玺
2023-03-14

我有一个Java 8项目,用Thymeleaf将数据带到前端。我想在前端输出的数据实体是calleslogs,是一个包含json数据属性的实体列表。我将其输出到html文件中,如下所示:

<script type="text/javascript">
    let logs = [[${logs}]];
</script>

json具有以下结构:

{
  "oldest": 712367620,
  "youngest": 712378606,
  "measurements": []
}

但在页面上,它出现了双引号,这完全搞乱了js:

<script type="text/javascript">
    let logs = [LogEntity(id=52, success=true, runtimes={
        &quot;oldest&quot; : 712367620,
        &quot;youngest&quot; : 712378606,
        &quot;measurements&quot; : []
    })]
</script>

我如何防止json字符串中双引号的转义?我在另一个项目中使用php和twig,它就像{{logs|raw}}一样简单。在thymeleaf中是否有某种修饰符,如php twig中的|raw

安全性不是问题,因为我完全可以控制数据对象。

共有1个答案

微生弘
2023-03-14

必须使用th:inline=“JavaScript”启用JavaScript内联:

<script type="text/javascript" th:inline="javascript">
    let logs = [[${logs}]];
</script>

(我不确定你说的json data是什么意思,你是说你有一个包含JSON的String吗?)

 类似资料:
  • 问题内容: 我有json文件,并且在此文件中是一些json编码的数据。 我想在文件中获取此数据并在JavaScript中处理该数据。但是不知道如何在.html文件中连接connect.json文件? 请告诉我。这是我的 json 文件: 考虑到我正在从服务器获取json文件,如何在html中使用该文件,以便可以在html页面的表中显示数据。我正在使用JavaScript解析json文件。我是这个领

  • 所以我们将html存储在数据模型中。我需要将其输出到freemarker模板中: 例子: 我尝试过[#noescape],但它抛出了一个错误,说没有逃逸障碍。请参阅FREEMARKER:避免转义HTML字符。这个解决方案对我不起作用。

  • 我有类似这样的数据来自一个领域- {"AddressLine1":"Example Dr "," AddressLine2 ":"," City":"Paradise City "," State":"State Name "," PostalCode":"12345 "," Zip5":"67891 "," zip 4 ":" } {"地址线1":"Ex Ln","地址线2":"Adr 22",

  • 在一个场景中,数据只能通过字符串传输,需要传文件或二进制对象时就比较麻烦。 目前使用将文件编码为base64传输,但是这种方式会时传输的数据增大(50K的文件编码后为80K)。测试使用浏览器的TextDecoder将文件编码为iso-8859-1,可以保持编码后字符串的大小和原文件一样,但是再转回文件时就转不回来了(TextEncoder只支持utf-8) 编码: ====更新===== 现通过以

  • 问题内容: 这看起来是如此简单,我必须对此加以考虑。 TL; DR; 如何修改下面的代码以返回字符串中包含的json对象,而不是恰好包含json的字符串? 此代码返回包含json的字符串文字: 但是,我希望它返回字符串中包含的json: 版本稍长 我正在尝试快速制作一些外部api调用的原型,而现在只是想将这些结果通过我的“ api”传递为假响应。json对象很简单- 大约10,000个“行”或90

  • 问题内容: 我的网页有一些输入字段,我在其中应用了以下CSS: 但这似乎没有任何效果。我是否在这里遗漏了一些明显的信息,还是仅使用CSS在输入字段中没有省略号? 问题答案: 我知道这是一个老问题,但是我遇到了同样的问题,对我有用,所以我想我愿意分享,以防人们仍然好奇。该博客的要旨是,您也可以在IE中的输入中执行省略号,但前提是该输入具有属性。 显然,在许多情况下,我们不希望输入具有只读属性。在这种