thymeleaf中js 取值

今天又学习了一招

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中转义的&amp;也是不行的,大家注意下。



另外,以上方法都搞不定,还有一招:直接将js移至外部文件一般均可治愈

再贴一点

window.location.href=[[@{/logout}]];    使用@符号,他就会自己在路径 中加上工程路径(未测)

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值