gpt4 book ai didi

java - EL:如何打印静态变量?

转载 作者:行者123 更新时间:2023-11-30 06:35:37 24 4
gpt4 key购买 nike

我有以下 JSP 页面:

<%@taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
test #1: value of PI is <c:out value="${java.lang.Math.PI}" />.
test #2: value of PI is ${java.lang.Math.PI}.
test #3: value of PI is <%= java.lang.Math.PI %>.

不知何故,只有测试 #3 有输出。为什么 EL 不打印出静态变量的值?

最佳答案

对于您的每个示例,这是正在发生的事情:

<c:out value="${java.lang.Math.PI}" />

这是在寻找名为 java 的变量或 bean,并尝试在其上执行一个名为 lang 的方法。您的 JSP 页面中可能没有名为 Java 的变量或 bean,因此没有输出。

${java.lang.Math.PI}

这个和上面一样,只是用EL写的而已。相同之处在于它正在寻找一个名为 java 的变量或 bean。

<%= java.lang.Math.PI %>

这是在 JSP 编译期间执行的操作,计算 java.lang.Math.PI 并将其写入 JSP。如果您查看已编译的 JSP,您将看到其中写入的值。

第三个示例正在评估表达式,就像您在 Java 类中一样。前两个示例期望“java”是一个变量名。

关于java - EL:如何打印静态变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892593/

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