-1

皆さん、こんにちは。Java 式言語が if-else ステートメントをサポートしているかどうかを知りたいです。次のJavaコードがあります:

if(request.getUser().isPremiumUser()) {

   if(!"abc123".equals(request.getUser().getPremiumId()))
     {
         System.out.println("Premium code mismatch");
     }

}

XMLで式言語を使用して同じものを実装したいと思います。これを行うのは簡単だと理解しています - !"abc123".equals(request.getUser().getPremiumId() これは user.premiumId ne 'abc123' になります。しかし、el で if-else 条件ステートメントを実行するにはどうすればよいですか。グーグルで記事を探しましたが、何も見つかりませんでした。

<bean id="test" class="com.experiments.TestEl">

<property id="errormessage" value="Premium Code mismatch" />
<property id="expression" value =" if  ..... else  "   />

</bean>

前もって感謝します。

4

1 に答える 1

0

Java EL の目的は、Java Bean にマップまたはアクセスを容易にする小さな/単純な式ステートメントを公開することです。それらは、何らかのスクリプト言語 (JSP、JSF、またはおそらくその他) から使用されることが期待されています。EL は、値の式メソッドの式をサポートしていますが、直接的なフロー制御は提供していません。これは、基礎となる Java Bean の単純なアクセスまたは制御の範囲を超えています。フロー制御は、スクリプト言語で処理する必要があります。

前述のように、値を表す三項演算子を提供します。Java では、これはフロー制御であり、if ... else ...を表していません。Java EL の範囲をはるかに超えています。

Java EL 演算子の完全なリストは、ここにあります。

于 2013-06-30T17:49:16.360 に答える