【发布时间】:2020-04-07 03:52:06
【问题描述】:
我有这个 JavaScript 代码:
<script>
function greetings() {
var hash = window.location.hash.substring(1);
if (hash != "") {
var name = "<%= Encode.forJavaScriptBlock(hash) %>";
document.write("<h1> Hello " + name + "!</h1>");
}
else {
document.write("<h1>Welcome Back!</h1>");
}
}
greetings();
</script>
当我运行它时,我收到以下与 name 变量的声明行相关的错误:
哈希无法解析为变量
我不明白为什么哈希变量似乎在我的范围内。
【问题讨论】:
-
类似问题:stackoverflow.com/questions/8268356/…。简短的回答:您不能在 JavaScript 函数中调用诸如
Encode.forJavaScriptBlock之类的 Java 代码。 -
@LukeWoodward 和这个呢:www2.owasp.org/owasp-java-encoder/encoder/apidocs/org/owasp/…
-
您不能从 JavaScript 函数调用任何 Java 代码。这已在我链接的问题以及与该问题相关的问题中进行了解释。此外,我不确定你想用这种方法来实现什么。
-
@LukeWoodward 这就是我想做的:cheatsheetseries.owasp.org/cheatsheets/…
标签: javascript java jsp variables