$ {},所以正在发生的事情是JS模板文字中的$ {}在被编译成servlet之前被解释和删除。有没有办法告诉Java忽略$ {}而不用isELIgnored完全关闭该功能?
const subject = 'world';
let greet = `hello ${subject}!`
在浏览器中变为以下内容
const subject = 'world';
let greet = `hello !`
这是我提出的最好的,但实际上并没有挖掘它的丑陋程度。
<c:out value="var body = `pq_country=${country}&pq_population=${population}`;" escapeXml='false'/>
答案 0 :(得分:2)
您必须将JS代码移动到外部文件或script
标记内的函数中,这将是用JS语法解决jsp冲突的最佳方法。
答案 1 :(得分:1)
您可以在$ {}前面加上一个反斜杠,以便JSP忽略它(由David Ford通过this article找到)。
const subject = 'world';
let greet = `hello \${subject}!`