今天又学习了一招
js获取thymeleaf中的变量的值
<script th:inline="javascript">
var data = [[${data}]]
//var dd="&&"+"<";
</script>
另外一种就是使用隐藏域:
<input type="hidden" th:value=“${data} ” hljs-keyword" style="color:rgb(227,206,171);">data">
js : var data=${"#data"}.val()
另外之前经理的博客有这一段:
不明白里面的含义:先贴在这里:
内联文本:[[...]]内联文本的表示方式,使用时,必须先用th:inline="text/javascript/none"激活,th:inline可以在父级标签内使用,甚至作为body的标签。内联文本尽管比th:text的代码少,但是不利于原型显示。
内联js:
<scriptth:inline="javascript">
/*<![CDATA[*/
...
var username = /*[[${}]]*/ 'Sebastian';
...
/*]]>*/
</script>
js附加代码:
/*[+
var msg = 'This is a working application';
+]*/
js移除代码:
/*[- */
var msg = 'This is a non-working template';
/* -]*/
thymeleaf中js的转义问题(thymeleaf3.0试验未成功,估计是用的thymeleaf2.0,未测)
请直接这样用:
<script th:inline="javascript">
<![CDATA[
$(window).load(function(){
xxxx(其中包含了&&这种需要转义的字符)
});
]]>
</script>
<![CDATA[ ]]>加上后可防止里面有特殊字符例如< >&,用这个东西包裹的内容会忽略所有的特殊字符。
必须这样用,否则应该是无解,竟然用html中转义的&也是不行的,大家注意下。
另外,以上方法都搞不定,还有一招:直接将js移至外部文件一般均可治愈
再贴一点
=[[@{/logout}]]; 使用@符号,他就会自己在路径 中加上工程路径(未测)