如何使用Java表达式语言编写if-else和其他复杂操作

如何使用Java表达式语言编写if-else和其他复杂操作,java,jakarta-ee,expression,el,template-engine,Java,Jakarta Ee,Expression,El,Template Engine,大家好。我想知道java表达式语言是否支持if-else语句。我有以下java代码: if(request.getUser().isPremiumUser()) { if(!"abc123".equals(request.getUser().getPremiumId())) { System.out.println("Premium code mismatch"); } } 我想在xml中使用表达式语言实现同样的功能。我知道这很容易做到-!“ab

大家好。我想知道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中有条件语句,我该怎么办呢?我在谷歌上搜索了所有文章,但没有找到任何文章。如果有任何帮助,我们将不胜感激。我希望它看起来像这样

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

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

</bean>


提前感谢。

Java EL的目的是公开映射或方便访问Java Bean的小型/简单表达式语句。它们预计将从某些脚本语言(JSP、JSF或其他)中使用。EL支持值表达式和方法表达式,但不提供直接流控制,这超出了基础java bean的简单访问或控制范围。流控制将/应该由脚本语言处理

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


一个完整的列表。

您必须重新阅读我的问题。我不是在java中寻找if-else,而是在java表达式语言中寻找if-else。纯java和java el有区别。我试图驱动我在el中在java中实现的相同逻辑。AKAIK el包括三元运算符[布尔表达式]?[真值]:[假值]。如果这对您不起作用,您必须创建一个函数。@techmonster AKAIK是一个打字错误。Antlersoft的意思是“AFAIK”,意思是“据我所知”