您的位置:首页 > Web前端 > JavaScript

thymeleaf中js 取值

2016-07-22 00:00 253 查看
摘要: Thymeleaf Javascript 取值

今天又学习了一招

js获取thymeleaf中的变量的值

<script th:inline="javascript">
var data = [[${data}]]
//var dd="&&"+"<";
</script>

另外一种就是使用隐藏域:

<input type="hidden" th:value=“${data} ” id="data">

js :  var data=${"#data"}.val()

另外之前经理的博客有这一段:

不明白里面的含义:先贴在这里:

内联文本:[[...]]内联文本的表示方式,使用时,必须先用th:inline="text/javascript/none"激活,th:inline可以在父级标签内使用,甚至作为body的标签。内联文本尽管比th:text的代码少,但是不利于原型显示。

内联js:
<scriptth:inline="javascript">
/*<![CDATA[*/
...
var username = /*[[${sesion.user.name}]]*/ '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移至外部文件一般均可治愈

再贴一点

window.location.href=[[@{/logout}]]; 使用@符号,他就会自己在路径 中加上工程路径(未测)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Thymeleaf js