3

这只是由Java定义的API,由(比如说)服务器实现,还是JRE也包含实现?

事情是我试图在我的 JSF 页面上使用“+”连接两个字符串,但它抛出了 NumberFormatException。似乎它试图使用 Long.parseLong() 解析我的字符串。

在堆栈跟踪中看到这个包我很惊讶,因为我认为这些表达式是 Groovy 表达式。这似乎不是 Groovy,而是其他一些 EL。

我正在使用 Weblogic 服务器。

4

1 回答 1

6

它包含由EL 规范指定的Sun 的API实现。此 API 是 Java EE 的一部分,而不是 Java SE 的一部分。实现者需要提供抽象 API 的具体实现,以便完成所有 API 定义的工作。Java EE 基本上是一个大型抽象规范。Weblogic、Tomcat、Glassfish 等 servlet 容器/应用程序服务器提供了具体的实现。javax.el

至于您的实际问题,不,您确实不能使用+这样的运算符在 EL 中连接字符串。EL 中的+运算符假定两边都是 a Number,对于整数是Long。这是在 EL 规范中指定的。

但是,您可以只使用如下的多个表达式来“连接”字符串。

<h:outputText value="#{user.firstName} #{user.lastName}" />
于 2010-11-22T14:18:37.643 回答