在ES6中拼接字符串十分快捷方便。如:
$("#text_es6").html(`
<h1>冲突!>/h1>
<p>离解决冲突还有
${second}秒。</p>
`);
方便是方便,但在jsp或者其他带有类似el表达式的地方会出现一些问题(因为es6和jsp使用的都是${}来解析)
如在jsp中写入如上js代码时,jsp会首先把${second}看成el表达式,但是因为jsp里边是没有second数据的,所以就会出现空值。
解决方法如下:
第一种:在表达式外边套一层表达式,把里边的表达式用双引号引起来,让jsp看成字符串,如下:
${"${second}"}
var second = 5;
$("#text_es6").html(`
<h1>冲突!</h1>
<p>离解决冲突还有${"${second}"}秒。</p>
`);
第二种:这种方法最简单,就是把javascript代码放到单独的js文件里边,然后在html代码中引用它。如下:
text.js
$(document).ready(function(){
$("#text_es6").html(`
<h1>冲突!</h1>
<p>离解决冲突还有${second}秒。</p>
`);
});
index.html
<script type="text/javascript" src="text.js" charset="utf-8"></script>