【发布时间】:2020-08-21 03:37:39
【问题描述】:
我有一个使用 Thymeleaf 的 Spring Boot 应用程序。我正在使用字符串值设置模型变量,并希望将其用作 javascript 中的变量值。
在 Java 中我会做类似的事情:
StringBuffer data = new StringBuffer();
data.append("[ [\"").append(name1).append("\" ], \"").append(name2).append("\"] ] ");
...
model.addAttribute("dataString", data);
我的 HTML 代码如下:
<script th:inline="javascript">
/*<![CDATA[*/
var dataSet = [[${dataString}]];
/*]]>*/
...
</script>
JavaScript 中的结果应该是:
var dataSet = [ ["Name1"], ["Name2"] ];
但我得到的是 HTML:
var dataSet = "[ [\"Name1\"], [\"Name2\"] ]";
我在 HTML/JavaScript 中尝试了不同的东西:
- 只使用一个括号
[$dataString]-> 得到var dataSet = [${dataString}];; - 使用这个:
/*[$dataString]*/-> 得到var dataSet = /*[${dataString}]*/;; - 或:
/*[[$dataString]]*/-> 结果为var dataSet = "[ [\"Name1\"], [\"Name2\"] ]"; - 删除
CDATA的东西->没有改变
在 JavaScript 中没有任何结果会产生正确的字符串。 如何获得正确的字符串?
【问题讨论】:
-
欢迎来到 Stack Overflow!请拨打tour(您将获得徽章!)
标签: javascript spring-boot thymeleaf