Spring 如何用thymeleaf序列化POJO?
我想使用thymeleaf在Spring 如何用thymeleaf序列化POJO?,spring,spring-mvc,thymeleaf,Spring,Spring Mvc,Thymeleaf,我想使用thymeleaf在标记中插入一个POJO(普通的旧java对象),作为普通的Json。我还使用SpringMVC作为框架 给定这样一个对象: class Data { String a; int b; Object c; } 我希望获得如下内容作为渲染模板: <script> var data = { a: "foo", b: 123, c: {...} } </script> 风险值数据
标记中插入一个POJO(普通的旧java对象),作为普通的Json。我还使用SpringMVC作为框架
给定这样一个对象:
class Data {
String a;
int b;
Object c;
}
我希望获得如下内容作为渲染模板:
<script>
var data = {
a: "foo",
b: 123,
c: {...}
}
</script>
风险值数据={
答:“福”,
b:123,
c:{…}
}
直到现在,我还没有找到一种使用thymeleaf渲染的方法
我试过:
<script th:inline="javascript">
var data = /*[[${myDataObj}]]*/ {};
</script>
变量数据=/*[${myDataObj}]*/{};
但这失败了,因为显然thymeleaf无法序列化POJO
然后,我还尝试提供已经序列化为json的对象:
<script th:inline="javascript">
var data = /*[[${myDataAsJson}]]*/ {};
</script>
var data=/*[[${myDataAsJson}]*/{};
但这也不起作用,因为它会再次转义字符串。同样,在thymeleaf中似乎没有办法提供行未替换字符串
…现在这太糟糕了…如何使用thymeleaf在脚本标记中插入对象
显然,自2012年以来,这是一个他们似乎没有给予太多考虑的问题:
好的,我还没有找到一个很好的方法来做这件事,但下面是我的“总比没有好”解决方法:
<script th:inline="javascript">
var jsonString = /*[[${myJsonString}]]*/ "{\"a\":\"... ";
var data = JSON.parse(jsonString)
</script>
var jsonString=/*[${myJsonString}]*/“{\'a\':\'”;
var data=JSON.parse(jsonString)
这并不理想,因为它无用地执行额外的JSON序列化/反序列化…但至少它可以工作