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