Пример тернарного оператора 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 КБ)