Java EL:如何打印静态变量?

Java EL:如何打印静态变量?,java,jsp,el,Java,Jsp,El,我有以下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 %>.

我有以下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 %>.

测试#1:PI的值为。
测试#2:PI的值为${java.lang.Math.PI}。
测试3:PI的值为。

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

对于您的每个示例,都是这样的:

<c:out value="${java.lang.Math.PI}" />
这与上面相同,只是使用EL编写。这与查找名为java的变量或bean是一样的

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

它所做的是在JSP编译期间,计算java.lang.Math.PI并将其写入JSP。如果查看编译后的JSP,您将看到写入其中的值


第三个示例是像在Java类中一样计算表达式。前两个示例期望“java”是一个变量名。

可能重复的@BalusC:您现在必须将该名称标记为书签:)@skaffman:我只需在Firefox浏览器地址栏中输入“constants el”并复制第一个链接:)
<%= java.lang.Math.PI %>