Thymeleaf 3 から JavaScript (というよりインライン処理)の中でエスケープせずに文字列を出力できるようになっています。 [[...]]の代わりに[(...)]を使えば良いです。 例 <script th:inline="javascript">/*<![CDATA[*/ var foo = /*[(${foo})]*/ {"bar":"drei","baz":"]]\u003e"\n'<\u002fscript\u003e"}; /*]]>*/</script> @GetMapping("/") public Object index(Model model) throws IOException { final MyForm myForm = new MyForm("", "'\"&</script>]]>", Optional.of(LocalD