gpt4 book ai didi

java - 如何阻止 jsp scriptlet 执行?

转载 作者:行者123 更新时间:2023-12-02 08:59:21 25 4
gpt4 key购买 nike

当我运行程序时,条件内的两条语句都被执行

<script>
if (true) {
<%System.out.println("true");%>
} else {
<%System.out.println("false");%>
}
</script>

最佳答案

Java 和 JavaScript 是完全不同的——尽管它们的名字很相似。它们的共同点就像“痛苦”和“绘画”这两个词一样。

  • JSP 代码在用户收到页面之前在服务器中执行。
  • 服务器执行完所有代码、组装页面并将其传送到用户的浏览器后,JavaScript 在最终用户的计算机上执行。

服务器不处理除 JSP 标记或已知标记库(如 JSTL)之外的任何 JSP 内容。那<script>元素及其内容只是按原样添加到最终页面,而无需解释或执行。

换句话说,if (true)对服务器没有任何意义。它忽略 JavaScript,只执行 <%%>零件。

当页面最终交付给浏览器时,源代码将包含以下内容:

<script>
if (true) {

} else {

}
</script>

…因为 JavaScript 没有在服务器端以任何方式进行处理。 HTML 页面中的 JavaScript 在浏览器中运行,而不是在服务器上运行。

你可能想要这样的东西:

<%
if (true) {
System.out.println("true");
} else {
System.out.println("false");
}
%>

并不是说上面的内容不需要在 <script> 中元素,事实上将它放在一个元素中是没有意义的 - 因为 <script>包含 JavaScript,这是服务器端 Java 代码,而不是 JavaScript。

关于java - 如何阻止 jsp scriptlet 执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60280579/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com