ES6拼接字符串和EL表达式冲突问题(jsp代码中javascript代码使用ES6拼接字符串值为空)

在ES6中拼接字符串十分快捷方便。如:

$("#text_es6").html(`
  

冲突!>/h1>

离解决冲突还有 ${second}秒。

`);

方便是方便,但在jsp或者其他带有类似el表达式的地方会出现一些问题(因为es6和jsp使用的都是${}来解析

如在jsp中写入如上js代码时,jsp会首先把${second}看成el表达式,但是因为jsp里边是没有second数据的,所以就会出现空值。

解决方法如下:

第一种:在表达式外边套一层表达式,把里边的表达式用双引号引起来,让jsp看成字符串,如下:

${"${second}"}

var second = 5;
$("#text_es6").html(`
  

冲突!

离解决冲突还有${"${second}"}秒。

`);

 

第二种:这种方法最简单,就是把javascript代码放到单独的js文件里边,然后在html代码中引用它。如下:

 

text.js

$(document).ready(function(){
	$("#text_es6").html(`
		

冲突!

离解决冲突还有${second}秒。

`); });

 

index.html

 

你可能感兴趣的:(问题解决)