${} 模板文字 (ES2015) 与 JSP EL 语法冲突
${} template literal (ES2015) conflict with JSP EL syntax
${} 被 JSP 和 JS 使用,所以发生的事情是 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'/>
你必须将JS代码移动到外部文件或script
标签中的函数中,这将是解决jsp与JS语法冲突的最佳方法。
您可以在 ${} 前面加一个反斜杠,这样 JSP 就会忽略它(David Ford 通过 this article 发现)。
const subject = 'world';
let greet = `hello ${subject}!`
${} 被 JSP 和 JS 使用,所以发生的事情是 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'/>
你必须将JS代码移动到外部文件或script
标签中的函数中,这将是解决jsp与JS语法冲突的最佳方法。
您可以在 ${} 前面加一个反斜杠,这样 JSP 就会忽略它(David Ford 通过 this article 发现)。
const subject = 'world';
let greet = `hello ${subject}!`