3

これは、(たとえば) サーバーによって実装される Java によって定義された単なる API ですか、それとも JRE にも実装が含まれていますか?

JSF ページで「+」を使用して 2 つの文字列を連結しようとしたところ、NumberFormatException がスローされました。Long.parseLong() を使用して文字列を解析しようとしていたようです。

これらの式は Groovy 式だと思っていたので、スタック トレースでこのパッケージを見て驚きました。これは確かにGroovyではなく、他のELのようです。

私は Weblogic サーバーを使用しています。

4

1 に答える 1

6

これには、 EL仕様で指定されているSunのAPIの実装が含まれています。このAPIは、JavaSEではなくJavaEEの一部です。実装者は、APIで定義されたすべての作業が行われるように、抽象APIの具体的な実装を提供する必要があります。Java EEは、基本的に1つの大きな抽象仕様です。Weblogic、Tomcat、Glassfishな​​どのservletcontainers / applicationserversは、具体的な実装を提供します。javax.el

実際の問題に関しては、いいえ、+そのような演算子を使用してELで文字列を連結することはできません。ELの演算子は、ラウンド数がで+ある場合、両側がであると想定します。これはEL仕様で指定されています。NumberLong

ただし、次のような複数の式を使用して文字列を「連結」することができます。

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