Thymeleaf imprime une chaîne JSON en tant qu'objet JSON dans une variable javascript
Dans Certains
J'ai besoin d'un moyen d'imprimer JSON
représentation d'une valeur de chaîne dans la page html via thymeleaf.
En détail
Je vais avoir un model attribute
qui contient une chaîne de caractères qui est en fait une représentation de chaîne de la JSON
Mon thymeleaf
code
<script th:inline="javascript">
var value = [[${data.scriptValue}]];
</script>
imprimer la variable en tant que ci-dessous
var value = '[[\"asd\",\"3\"],[\"asd\",\"1\"],[\"asdasd\",\"1\"]]';
Mais je veux quelque chose comme cela comme un javascript/JSON
tableau
var value = [["asd","3"],["asd","1"],["asdasd","1"]];
Comment faire cela dans thymeleaf?
Note: je sais que je peux le faire à partir de JSON.Parse
mais j'ai besoin d'un moyen de le faire à partir de thymeleaf 🙂
source d'informationauteur Faraj Farook
Vous devez vous connecter pour publier un commentaire.
Mise à jour - 2015/12/24
Cette fonctionnalité est disponible dans Thymeleaf 3
Reportez-vous
The Thymeleaf textual syntax
dans https://github.com/thymeleaf/thymeleaf/issues/395Il n'est pas possible à Thymeleaf 2. Comme Patric LC mentionné, il y a deux questions dans cette.
sans échappement en ligne pour les scripts/css #12
Utilisation Jackson pour Javascript inline de JSON #81
@Faraj, la nouvelle version de Thymeleaf fournit cette fonctionnalité. Ils implémentent des fonctionnalités pour les problèmes que vous avez mentionnés. Vous pouvez regarder ici:
http://www.thymeleaf.org/doc/articles/thymeleaf3migration.html
Les principales caractéristiques:
[# ...] ... [/]
.([[...]])
et sans échappement([(...)])
.(/*[- ... -]*/)
et prototype-seulement(/*[+ ... +]*/)
blocs de commentaires.(/*[# ...]*/)
.