Пример тройного оператора Spring EL (if-then-else)

Пример тернарного оператора Spring EL (if-then-else)

Spring EL поддерживаетternary operator, выполняет условную проверку «if then else». Например,

condition ? true : false

Spring EL в аннотации

Тернарный оператор Spring EL с аннотацией@Value. В этом примере, если «itemBean.qtyOnHand» меньше 100, тогда установите «customerBean.warning» на true, иначе установите на false.

package com.example.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("customerBean")
public class Customer {

    @Value("#{itemBean.qtyOnHand < 100 ? true : false}")
    private boolean warning;

    public boolean isWarning() {
        return warning;
    }

    public void setWarning(boolean warning) {
        this.warning = warning;
    }

    @Override
    public String toString() {
        return "Customer [warning=" + warning + "]";
    }

}
package com.example.core;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component("itemBean")
public class Item {

    @Value("99")
    private int qtyOnHand;

    public int getQtyOnHand() {
        return qtyOnHand;
    }

    public void setQtyOnHand(int qtyOnHand) {
        this.qtyOnHand = qtyOnHand;
    }

}

Выход

Customer [warning=true]

Spring EL в XML

Смотрите эквивалентную версию в XML-файле определения компонента.



    
        
    

    
        
    

Выход

Customer [warning=true]

В XML вам необходимо заменить оператор «меньше чем» «<» на «<».

Скачать исходный код

Скачать -Spring3-EL-Ternary-Operator-Example.zip (6 КБ)