<body onload="myFunction("<%=request.getServletPath%>")">
和
<body onload="myFunction("${application.map["variableName"]}")">
我知道单引号的解决方法,但它不适合我的用例场景。
最佳答案
不使用不推荐的内联事件处理程序
function myFunction(parm) {
console.log(parm);
}
window.addEventListener("load", function() {
myFunction('${application.map["variableName"]}');
})
//or
const mapName = '${application.map["variableName "]}';
window.addEventListener("load", function() {
myFunction(mapName);
})
转义不起作用
<body onload="console.log(\"somevar\")">
实体做
<body onload="console.log("somevar")">
也可以使用隐藏的 div(如果渲染的字符串中有换行符)
function show(str) {
console.log(str);
}
window.addEventListener("load", function() {
show(document.getElementById("appMap").innerText.trim());
})
#applicationMap {
display: none
}
<div id="appMap">
${application.map["variableName"]}
<div>
关于javascript - 如何在 JSP 中的以下场景中跳过双引号而不使用单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60926358/