-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 的简单访问或控制的范围。流控制将/应该由脚本语言处理。

如前所述,它确实提供了一个表示value的三元运算符。在 Java 中if ... else ...是流控制,并不代表一个——它远远超出了 Java EL 的范围。

可以在此处找到 Java EL 运算符的完整列表。

于 2013-06-30T17:49:16.360 回答