idea中编辑thymeleaf页面中,涉及到传值给js方法时,容易报错。
一般之前都是这三种写法。
1、
<button class="btn" th:onclick="'getName(\'' + ${person.name} + '\');'">获得名字</button>
2、
<button class="btn" th:onclick="'getName(' + ${person.name} + ');'">获得名字</button>
3、
<button th:onclick="|getName(${person.name} )|">获得名字</button>
4、现在一般推荐这种
<button class="btn" th:onclick="getName([[${person.name}]]);">获得名字</button>
不过这种有一个问题,idea中会报错语法错误(我用的idea2017.1.6),但是不管它也能正常编译使用,应该是idea的一个bug。但是我是一个强迫症忍不了报错。
网上找了很多方法都不顶用,直接忽略thymeleaf中语法检查又不甘心。
我研究了研究,发现将它写成这样:
<button class="btn" th:onclick="getName('[[${person.name}]]');">获得名字</button>
括号内部加一组单引号,终于解决,既不报错又能正常编译使用了。nice。